HTML
<ul>
<li><a href="#">Home</a></li>
<li><a href="#" class="active">About</a></li>
</ul>
CSS
ul li:nth-child(even) a {
text-shadow: 1px 1px 1px red;
}
.active {
text-shadow: none;
}
第二个列表项仍然有阴影。为什么?
这是一个特殊性的问题:第一个规则获胜,因为它具有13
比第二个更大的特殊性(计算为 1 个伪类和 3 个元素:)(只有 1 个类,没有元素:) 10
:你应该改写
ul li:nth-child(even) a.active {
text-shadow: none;
}
或 - 一般而言 - 任何其他有效规则,其特异性大于或等于13
.
如果您无法更改第二个选择器,您可以简单地!important
在属性上使用applyed,但应尽可能少地限制它的使用。
有关详细信息,另请参阅: