html - 如何在伪元素之前分配具有数据属性的图标?
问题描述
我想将 iconfont 中的图标分配给具有 before 伪元素的 span 元素。图标的值作为数据属性动态写入 HTML。
不幸的是,在以下示例中,HTML 没有显示图标,而是“\EA46”。可能是因为反斜杠。有谁知道我该如何解决这个问题?
.testicon {
font-family: iconFont;
}
[data-icon]:before {
content: attr(data-icon);
}
<span class="testicon" data-icon="\EA46"></span>
解决方案
我无法仅使用 data-icon 属性来解决此问题,但结合在元素中设置 CSS 变量样式,这是可行的。注意引号是必要的。
(示例使用 Fontawesome 和十六进制编码字符来表示错误,因此它可以被视为不是空白方块,因为给定的十六进制代码不是 FA 中的字符)
<!DOCTYPE html>
<html>
<head>
<title>Test icon as data attribute bug?</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css">
<style>
.testicon {
font-family: fontAwesome, monospace;
}
[data-icon]:before {
content: var(--icon);
}
</style>
</head>
<body>
<span class="testicon" style="--icon: '\f188';" data-icon></span>
</body>
</html>
推荐阅读
- go - 如何从 xxx.pb.go 获取服务描述
- audio - MediaPlayerElement vs MediaElement 选哪个?
- avro - 使用数组时是否会丢失 Avro Schema Registry 兼容性?
- javascript - 全日历的选择方法不止一次
- c# - 如何使用 EF Core 3.0 使多个包含更高效
- java - 在 Spring Web Flux Security 中获取 401 响应主体
- android - 显示带有可点击对象的自定义室内地图
- java - Java 继承 - 继承的变量是否被子类“复制”或缓存?
- laravel - 在 laravel 5.8 中按另一个用户对用户进行分组
- r - 将数据框转换为R中的列表