5

私は誰かのサイトを更新しています。タグを選択するマークアップ<a>は次のようになります。

#wrapper a{color: red;}

それは結構です。しかし、<div>ラッパー内を作成し、<a>タグに独自のスタイルを設定すると、次のようになります。

.mydiv a{color: white;}

.mydiv css が外部スタイル シートの css の下にあるにもかかわらず、ラッパーの color:red によって上書きされますcolor:white。さらに、他のすべてのスタイリング (背景色、境界線など) が正常に機能します。<div>#wrapper

4

2 に答える 2

14

これは特異性と呼ばれます。

属性を持つセレクターは、id属性を持つセレクターよりも具体的classです (前者は単一の要素を指しますが、後者は複数の要素を指します)。したがって、id順序に関係なく、属性を持つセレクターが優先されます。

他のセレクターをオーバーライドするには、セレクターをより具体的にする必要があります。

#wrapper .mydiv a{color: white;}
于 2012-06-19T23:33:29.793 に答える
0

CSS ルールが上書きされる理由は、スタイル ルールの優先度が定義されている特異性に大きく依存するためです。

.myClass a#myID aクラスの選択は、ID よりもルールの影響を受ける要素の範囲が広いことを意味するため、は よりも具体的ではありません。ルールが古いルールよりも確実に優先されるようにするには、単純#wrapper .mydiv aに をセレクターとして使用します。これにより、ルールの特異性が古いルールの特異性を上回るようになります。

于 2012-06-19T23:36:13.023 に答える