2011-01-04 10 views
0
#top a { 
    color: #C6D6CA; 
    margin: 0 25px; 
    text-decoration: none; 
} 

.mainlink a { 
    display: block; 
    height: 100%; 
    width: 100%; 
    margin: 0; 
} 

.mainlink divは#topのどこかにあります。なぜ、マイングの#top(ペアレンタル)定義が、.mainlinkに設定されたものを上書きするのでしょうか?どのようにその行動を変更するには?CSSのid要素が子の定義を上書きしています

+0

はあなたが私達にあなたのHTMLまたはそれのサンプルを表示することができますか? –

答えて

4

あなたのルールを変更することにより、それを修正することができます:

#top a {} 
#top .mainlink a {} 
+0

ありがとう、それはちょうど完璧です – krzemian

0

CSSは "カスケード"なので、要素の子のいずれにも適用されます。子の色を指定し、プロパティ宣言の最後に "!important"を追加する必要があります。

0

スタイルシートがカスケードされている場合、名前付きIDの方がクラスよりも優先順位が高くなります。

http://www.w3.org/TR/CSS2/cascade.html

あなたはオーバーライドを強制的にmargin: 0 !importantを使用することができます。

0

#top aセレクタは.mainlink aより多くspecificityです。 IDセレクター大幅にセレクターの特異性を高めます。

各IDは、各クラスがケースである、Iのいずれかだろうと10.

の因子によって特異増加100倍セレクタの特異性を増加させる:

A.を交換しますクラスを持つID または
B.第2のセレクタにIDを追加します。

関連する問題