366

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

凉爽的。现在我需要像这样在 CSS 中使用它:

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

这显然是行不通的,因为↓它是一个 HTML 符号。关于 css 中使用的这些“转义的 unicode”符号的信息似乎较少。\2020我发现还有其他类似的符号,但没有箭头。什么是箭头代码?

4

1 回答 1

567

为什么不将 CSS 文件保存/提供为 UTF-8 格式?

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

如果这还不够好,并且您希望将其全部保留为 ASCII:

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

字符串中 Unicode 字符的一般格式是\000000to \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”与“test”完全相同。

综合列表:Unicode 字符 'DOWNWARDS ARROW' (U+2193)

于 2012-05-01T04:21:41.627 回答