例子 '黑星' ★(U + 2605)CSS内容的特殊字符:十六进制与正常字符
.a:after {
content: "\2605";
position:absolute;
}
.b:after {
content: "★";
position:absolute;
}
演示:http://jsfiddle.net/l2aelba/vBjxX/
为什么有人/最推荐使用HEX像\2605
在CSS值?两者都得到相同的结果。
例子 '黑星' ★(U + 2605)CSS内容的特殊字符:十六进制与正常字符
.a:after {
content: "\2605";
position:absolute;
}
.b:after {
content: "★";
position:absolute;
}
演示:http://jsfiddle.net/l2aelba/vBjxX/
为什么有人/最推荐使用HEX像\2605
在CSS值?两者都得到相同的结果。
使用实际值代替硬编码特殊字符(如底部示例)会更好,因为由于CSS文件本身的编码,有可能无法正确显示它们。
当图标字体映射到Unicode的专用区域时,也有一致性,因此字符在样式表中没有可视化表示。 – daveyfaherty 2013-03-27 11:14:14
您不需要记住一个可笑的键盘快捷键来添加一个unicode号码。
请记住,这个十六进制数字代表unicode中的一个独特和标准化的字符。 插入实际字符会让您置身于字符集的摆布之下,甚至是用来显示css的字体。
更重要的是,许多图标字体(Font Awesome是一个很好的示例)被映射为使用Unicode的专用区域之一。字体真棒字符在第一个私人使用区域内。
由于它在标准中的定义,在专用区域内没有标准化的字符。这意味着没有要显示的字符,所以样式表中唯一的有形表示是对它在unicode中的位置的数字引用。
这些图标为什么映射到目前为止?一个很大的原因是一些屏幕阅读器会读出在css内容中使用的任何字符。这可能看起来不对,但它确实发生了,并且需要防御。私人使用区域字符不会被读出。
就我个人而言,我的方法是使用键盘字符,并将unicode数字用于其他所有内容。即使如此,如果一个中国人想使用我的代码,我是否知道他们可以轻松访问自己键盘上的所有相同字符?他们将会有数字。
特殊字符可能无法正确显示某些字体/ IDE。刚刚在Netbeans上使用Inconsolata进行过测试,并且未显示该明星。 – 2013-03-27 10:56:35