小编典典

在CSS内容值中放置Unicode字符

css

4年前关闭。

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

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

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

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


阅读 566

收藏
2020-05-16

共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),代表带有该数字的ISO10646([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字符“向下箭头”(U +2193)。

2020-05-16