字符实体、字体图标与Unicode码

字符实体、字体图标与Unicode码

字符实体与Unicode

在 HTML 中,某些字符是预留的,例如小于号「<」、大于号「>」等,浏览器会将它们视作标签。如果想要在HTML中显示这些预留字符,我们就要用到字符实体(character entities)。我们比较熟悉的字符实体有空格「 」,小于号「<」,大于号「>」等。这样的格式比较语义化,容易记忆,但其实字符实体有其他的格式:
&name;,&#dddd;,&#xhhhh;

这三种转义方式都称作 character reference,
第一种是 character entity reference,「&」符号后接预先定义好的 entity 名称。
后两种是 numeric character reference,数字取值为目标字符的 Unicode code point;
以「&#」开头的后接十进制数字,「&#x」开头的后接十六进制数字。
从 HTML4 开始,numeric character reference 以 Unicode 为准,与文档编码无关。「你好」二字分别是 Unicode 字符 U+4F60 和 U+597D,十六进制表示的 code point 数值「4F60」和「597D」,同时也就是十进制的「20320」和「22909」。所以

在HTML中输入

&#x4F60;&#x597D;
&#20320;&#22909;
都会显示为“你好”。

字体图标与Unicode

字体图标本质上是定义一种字体,只不过字体本身是图标。每个字体图标在定义的时候有一个Unicode码,这个Unicode可以是自定义的。
例如:引入了阿里的iconfont字体图标

@font-face {
    font-family: "iconfont";
    src: url('iconfont.eot?t=1580522005036');
    url('iconfont.woff?t=1580522005036') format('woff'),
    url('iconfont.ttf?t=1580522005036') format('truetype')
    ...
    ...
}
    
.iconfont {
  font-family: "iconfont" !important;
  font-size: 16px;
  font-style: normal;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
// 下面定义每个字体图标的class类名其中content:"\e604"中的e604就是该字体定义
// 时的Unicode值的16进制
.iconsuoma:before {
  content: "\e604";
}
...
...

此时如果设置了字体为iconfont,那么同样也可以用实体字符的形式在html中展示
以下两种展示的图标是一样的

<span class="iconfont iconsuoma"></span>
<div class="iconfont">
  &#xe604;
</div>
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值