让我们用一个简单的HTML代码演示一个示例,如下所示:
<div data-icon="\25B6">Title</div>
我希望此元素的数据属性(data-icon)设置一个前缀图标,因此我将CSS文件设置如下:
div:before {
content: attr(data-icon);
}
这个示例的理想输出如下所示:
▶Title
除了所需的输出,我得到的是:
\25B6Title
所以我的问题是:我做错了什么/我想念什么?
JSFiddle示例:http : //jsfiddle.net/Lqgr9zv6/
CSS转义序列仅在CSS字符串中起作用。当您从HTML属性(即CSS外部)获取CSS转义序列时,将按字面意义读取该序列,而不将其解释为CSS字符串的一部分。
如果要在HTML属性中编码字符,则需要将其编码为HTML实体。CSS将其视为相应的Unicode字符。由于这是十六进制转义序列,因此您可以像这样将其音译:
<div data-icon="▶">Title</div>
或者,您可以只使用Unicode字符本身:
<div data-icon="▶">Title</div>
[次要添加]
如果属性的值需要在Vue或任何现在流行的JavaScript框架中都是响应式的,请使用Unicode表示法。
<div :data-icon="'\u25b6'">Title</div>
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句