在CSS内容值中放置Unicode字符

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

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

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

自从↓显然是↓ 是一个HTML符号。 似乎有关于这些在css中使用的“逃脱unicode”符号的信息。 还有其他符号,例如\2020 ,我find了,但没有箭头。 什么是箭头代码?

你为什么不把CSS文件保存为UTF-8?

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

如果这还不够好,而且你想保留所有的ASCII码:

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

string中的Unicode字符的一般格式是\000000\FFFFFF – 一个反斜杠,后跟六个hex数字。 如果Unicode字符是string中的最后一个字符,或者在Unicode字符后面添加空格,则可以省略前导0位。 请参阅下面的规格了解全部细节。


CSS2规范的相关部分 :

第三,反斜杠转义允许作者参考他们不能轻易放入文档的字符。 在这种情况下,反斜杠后面最多有六个hex数字(0..9A..F),代表ISO 10646( [ISO10646] )字符,该数字不能为零。 (在CSS 2.1中未定义,如果样式表包含Unicode代码点为零的字符,会发生什么情况。)如果范围[0-9a-fA-F]中的字符跟随hex数字,则数字的结尾需要要明确。 有两种方法可以做到这一点:

  1. 与空格(或其他空格字符):“\ 26 B”(“&B”)。 在这种情况下,用户代理应将“CR / LF”对(U + 000D / U + 000A)视为单个空白字符。
  2. 通过提供正好6个hex数字:“\ 000026B”(“&B”)

实际上,这两种方法可能是结合在一起的。 hex转义后只有一个空白字符被忽略。 请注意,这意味着转义序列后的“真实”空间必须加倍。

如果数字超出Unicode允许的范围(例如,“\ 110000”高于当前Unicode允许的最大10FFFF),则UA可以用“replace字符”(U + FFFD)replace转义。 如果要显示字符,UA应该显示一个可见的符号,如“缺less字符”字形(参见15.2,第5点)。

  • 注意:反斜杠转义始终被认为是标识符或string的一部分(即,“\ 7B”不是标点符号,即使“{”是,并且在类名的开始处允许“\ 32”,甚至虽然“2”不是)。
    标识符“te \ st”与“test”的标识符完全相同。

综合列表: Unicode字符“向下箭头”(U + 2193) 。