li
和之间的空间.active
是后代组合符。所以你的选择器:
.sub-nav-products li .active
...表示一个class="active"
元素是一个元素的后代,而该<li>
元素又是一个class="sub-nav-products"
元素的后代。
使用该规则,您的 HTML 必须如下所示:
<ul class="sub-nav-products">
<li>
<span class="active"></span>
</li>
</ul>
由于您的目标是<li>
具有该属性的元素,因此class="active"
您不想在 and 之间使用组合li
器.active
,而是使用一系列简单的选择器:
简单选择器序列是不被组合器分隔的简单选择器链。
...这意味着您应该删除选择器之间的li
空格.active
:
.sub-nav-products li.active
可是等等!还有更多:网络浏览器可能有一个锚元素的默认规则<a>
,并且您正在尝试在锚元素中设置文本样式:
<ul class="sub-nav-products">
<li class="active">
<a href="#">Example</a>
</li>
</ul>
您需要直接针对该元素编写具有更高特异性<a>
的规则,所以最后我们正在研究:
.sub-nav-products li.active a