2011-01-23 10 views
3

異なるスタイルの要素にどのように子を定義できますか?クラスを定義する '>'記号

#test > div[0] { 
background:red; 
} 

#test > div[1] { 
background:blue; 
} 

<div id="test"> 
<div>red bg</div> 
<di>blue bg</div> 
</div> 

答えて

2

または構造疑似クラスを使用する:

#test > div:nth-child(n) 

しかしIE or FF3

あるいはでサポートされていません。 (ただし、IE6ではサポートされていません)

#test > div { background-color:#f00;} 
#test > div + div { background-color:#0f0;} 
#test > div + div + div { background-color:#00f;} 
#test > div + div + div + etc.... 
+0

テーブルの最初と2番目のtdに背景があるようにしたい場合は、100%確実に動作しているとは思いません。クラスを書く? #test> tbody> tr> td + td {背景:赤;} – clarkk

+0

#テスト> tbody> tr> td {背景色:赤; } – Neil

+1

#テスト> tbody> tr> td + td + td {背景色:透明; } – Neil

4

あなたはそれらの要素にクラス与えることができる:

#test > .red { 
    background-color: red; 
} 

#test > .blue { 
    background-color: blue; 
} 

<div id="test"> 
    <div class="red">red bg</div> 
    <div class="blue">blue bg</div> 
</div> 

をしかしchild selector is not supported in IE6ことに注意してください。

更新:あなたはまだIE6をサポートしたいとそれらを使用すると、上のスタイルを適用したい2つの要素だけであれば、あなただけの>を省略し(そしておそらく彼らに代わり、クラスのIDを与える)ことができます。

+0

これはクロスブラウザ方式でこれを実装する最適な方法です。 IEが問題でない場合は、 'nth-child'疑似セレクタを調べることができます。 –

+0

子セレクタがIE6で動作しないのを覚えている –

0

あなたのdivにクラスやIDを割り当てることができます。

また、CSS3はmore precise pseudo classesをサポートしていますが、すべてのブラウザでサポートされているとは限りません。

関連する問題