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