2009-07-11 13 views
2

そして私は、このクラスでのスタイルを適用CSSクラスの優先度を上書きする方法は?

#contentheader .cat { 
border-top:3px solid #ccc; 
background-color:#eee; 
overflow:hidden; 
} 

#contentheader .cat li a { 
color:#999; 
font-weight:700; 
text-decoration:none; 
font-size:13px; 
display:block; 
border-right:1px solid #fff; 
float:left; 
padding:10px; 
} 

#contentheader .cat li a:hover { 
background-color:#E9E9E9; 
} 

問題は最初に<li>(ホーム)を別のものにする必要があることです。多分、他の色でテキストを作成するか、フォントを広くすることです。 <li>タグまたは<a>タグにクラスを直接割り当ててみますが、機能しません。常に#contentheader .cat li aクラスのスタイルを使用します。これを行う最善の方法は何ですか?おかげ

+1

タイトルはおそらく、優先度ごとの優先度を上書きするものではないため、変更する必要があります。実際には、単一の子要素を選択するだけです。優先順位のオーバーライドは!重要。 – geofflane

答えて

2

specificity of that selectorを小さくしてセレクタの特異性の低いルールを上書きする必要があります。だから、

あなたは#contentheader .cat li a.classを使用し、a要素について、#contentheader .cat li.classaを使用し、li要素にクラスを割り当てた場合。

3

あなたが使用することができます:CSSで最初の子セレクタを:ULの最初のli子を見つけ

#contentheader .cat ul li:first-child a { 
    color: red; 
} 

。それは、それが優先されるように一般的な事件の後に来ることを確認してください!色/サイズの定義に関する重要な変更子。

+0

驚くことはほとんどありませんが、IE6は最初の子疑似セレクタをサポートしていません。 http://kimblim.dk/css-tests/selectors/には、どのブラウザが何をサポートしているかの概要があります。 – Eystein

+0

実際に最もよく使用されているすべてのWebブラウザでサポートされていない場合は、問題になる可能性があります。 – segaco

+0

IE 6はCSSをほとんどサポートしていません。 :) – geofflane

関連する問題