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"
コンビネータを使用するのではなく、単純な selectors のシーケンスを使用する必要があります。li
.active
単純なセレクターのシーケンスは、コンビネーターで区切られていない単純なセレクターのチェーンです。
...つまり、セレクターli
との間のスペースを削除する必要があります。.active
.sub-nav-products li.active
ちょっと待って!さらに: Web ブラウザーにはおそらくアンカー要素の既定のルールがあり、アンカー要素<a>
でテキストのスタイルを設定しようとしています:
<ul class="sub-nav-products">
<li class="active">
<a href="#">Example</a>
</li>
</ul>
その要素を直接ターゲットとするより特異性の高いルールを作成する必要がある<a>
ため、最終的には次のようになります。
.sub-nav-products li.active a