1

次のマークアップがあります。

<div class="breadcrumbs">
    <span id="links">
      <a href="/home.html" class="pointer">home</a>
      <span>&gt;</span>
      <a href="/module/users.html">users</a>
    </span>
</div>

私のスタイルは次のように定義されています。

.breadcrumbs{/*styles for breadcrumbs div*/}
.breadcrumbs span a{cursor:default/*other styles for breadcrumbs links*/}

a.pointer{cursor:pointer;}

私のページでは、リンクはデフォルトのカーソル (矢印) をa.pointer示し、スタイルは IE10 コンソールと firebug でストライクされて表示されます。

私の混乱は、pointerクラスがアンカー要素に直接適用されるため、.breadcrumbs span a一致から選択されたものをオーバーライドするべきではないということです?

4

1 に答える 1

3

いいえ、もちろんそうすべきではありません。特異性の規則では、セレクターがより具体的であるほど、優先順位が高くなります。したがって、すべてのアンカー タグに適用されるクラスを作成し、次に特定の他の html タグ (div) 内のアンカー タグに適用される別のクラスを作成した場合、2 番目のクラスはより狭いため、優先順位が高くなります。ターゲティング。

Smashing マガジンのこのすばらしい記事をチェックして、具体性のルールを理解してください。http://coding.smashingmagazine.com/2007/07/27/css-specificity-things-you-should-know/

于 2013-04-16T06:41:20.703 に答える