css - 为什么伪元素内容不被更具体的声明所取代?
问题描述
我<ul>
在每个项目之前都设置了伪元素图标。Font Awesome 的复选标记图标设置为 every 的默认值<li>
,但我想根据它们的 ID(或类。这似乎也不起作用)为某些项目使用特定图标。但是特定的图标content
声明似乎不会覆盖默认图标,即使选择器应该更具体。这是一个简单的例子:
.cvt-product-tags li:before {
content: '\f00c'; /* Default checkmark icon */
font-family: 'Font Awesome 5 Pro';
}
/* Custom per-li icons */
.cvt-product-tags li#1394:before {
content: '\f21a'!important; /* Custom boat icon */
}
.cvt-product-tags li#1384:before {
content: '\f207'!important; /* Custom bus icon */
}
我在这里设置了一支更完整的笔:https ://codepen.io/dimedici/pen/PowGbdv 。
令人困惑的是,在一些标记更改之前我有一些非常相似的工作,其中content
声明被正确覆盖。我究竟做错了什么?或者,更重要的是,我如何让它正常工作?
解决方案
以数字开头的 CSS 选择器必须以特殊方式处理。
.cvt-product-tags li[id='1394']:before {
content: '\f21a'!important; /* Custom boat icon */
}
/* The space is important */
.cvt-product-tags li#\31 394:before {
content: '\f21a'!important; /* Custom boat icon */
}
推荐阅读
- vba - 通过循环重构涉及 With 关键字的 VBA 脚本以减少代码长度
- typescript - 如何在 Typescript 中声明类型化对象变量
- javascript - 使用来自 firebase 的多个 id 获取数据
- kotlin - 在 Exposed 中组合 AND 和 OR 条件时如何设置优先级?
- c++ - 如何创建一个没有边界的整数数组?
- java - 将整数二维数组从 java 客户端传递到 python 服务器
- java - 将 toString 与对象创建相关联
- javascript - 你可以在 React 中为变量分配一个 JSX 元素吗?
- yii2 - Yii2:在某些情况下是否可以禁用面包屑(例如移动设备)
- c# - 如何计算uwp中的每个类别