在CSS内容价值将Unicode字符[复制]在CSS内容价值将Unicode字符[复制](Placi

2019-05-13 18:08发布

这个问题已经在这里有一个答案:

  • 添加使用CSS内容HTML实体 9个回答

我有个问题。 我已经找到了向下箭头的HTML代码, ↓ (↓)

凉。 现在我需要用它在CSS像这样:

nav a:hover {content:"&darr";}

这显然不会,因为工作↓ 是一个HTML标志。 似乎是有关在CSS中使用这些“逃跑的unicode”符号较少的信息。 还有其他的符号像\2020 ,我发现,但没有箭头。 什么是箭头码?

Answer 1:

你为什么不只是保存/服务CSS文件为UTF-8?

nav a:hover:after {
    content: "↓";
}

如果这还不够好,你要保持它的所有-ASCII:

nav a:hover:after {
    content: "\2193";
}

一个字符串内使用Unicode字符的一般格式是\000000\FFFFFF -反斜线后跟六个十六进制数字。 你可以离开了领先的0位时的Unicode字符是字符串或当您Unicode字符后面添加一个空格中的最后一个字符。 请参阅下面的全部细节规范。


在CSS2规范的相关部分 :

第三,反斜杠允许作者引用他们不能轻易地把一个文档中的字符。 在这种情况下,反斜杠之后是至多六个十六进制数字(0..9A..F),其代表了ISO 10646( [ISO10646]与该号码,它不能是零)字符。 (它是未定义在CSS 2.1如果样式表确实包含一个字符使用Unicode编码点零会发生什么)。如果在范围[0-9A-FA-F]的字符如下十六进制数字,数字的端需要加以明确。 有两种方法可以做到这一点:

  1. 用空格(或其它空白字符): “\ 26 B”( “&B”)。 在这种情况下,用户代理应该把一个“CR / LF”对(U + 000D / U + 000A),其为单个空格符。
  2. 通过提供准确6个十六进制数字: “\ 000026B”( “&B”)

事实上,这两种方法可以组合。 只有一个空格字符是一个十六进制转义后忽略。 请注意,这意味着转义序列后一个“真实”的空间必须增加一倍。

如果该数量是由Unicode的允许的范围外(例如,“\ 110000”是不允许在当前的Unicode最大10FFFF以上),UA可以替换为“替换字符”逃逸(U + FFFD)。 如果字符被显示时,UA应该表现出明显的象征,如“缺少的字符”字型(参见15.2,第5点)。

  • 注意:反斜杠总是被认为是一个的一部分的标识符或字符串(即,“\ 7B”不是标点符号,即使“{”是和“\ 32”被允许在一个类名称的开始时,甚至虽然“2”是不是)。
    标识符“TE \ ST”是完全相同的标识符作为“测试”。

综合名单: Unicode字符'DOWNWARDS ARROW'(U + 2193) 。



文章来源: Placing Unicode character in CSS content value [duplicate]