2012-05-04 9 views
57

非常にシンプルなはずですが、わかりません。最初の行のセルにスタイルを適用してください

私はこのようなテーブルを持っている:

<table class="category_table"> 
<tr><td> blabla 1</td><td> blabla 2 </td></tr> 
<tr><td> blabla 3 </td><td> blabla 4 </td></tr> 
</table> 

私が最初tr行のtdタグがvertical-alignを持つようにしたいです。しかし、2番目の行ではありません。

.category_table td{ 
    vertical-align:top; 
} 
+0

http://stackoverflow.com/questions/613284/css-apply-style-to-first-level-of-td-only –

+0

質問をする前にそのページを見ました。 – xperator

答えて

124

使用tr:first-child最初trを取る:あなたは、テーブルを入れ子にしている、とあなたは内側の列にスタイルを適用したくない場合は、

.category_table tr:first-child td { 
    vertical-align: top; 
} 

いくつかの子のセレクタにこれだけのトップを追加最初のトップレベルのレベルのtdtrはスタイルを取得:

.category_table > tbody > tr:first-child > td { 
    vertical-align: top; 
} 
+0

実際に私は前にこれを試しました、それは動作していません。理由は分かりません。 – xperator

+0

私はどちらか分かりません。私はこれがすべての主要なブラウザで動作することを100%確信しています。 – BoltClock

+0

FireBugの第1行目と第2行目の 'td'タグを比較すると、最初の行が表示されます。スタイルは継承されていますが、2行目は表示されません。私はなぜ2番目の行が垂直に配置されているのかわかりません! – xperator

3

これは、仕事をする必要があります:

.category_table tr:first-child td { 
    vertical-align: top; 
} 
0
thead

table thead tr:first-child { 
    background: #f2f2f2; 
} 

下の表の最初のtrのための作品の下

そして、これが最初のtheadtrtbodyの両方で動作します:

table thead tbody tr:first-child { 
    background: #f2f2f2; 
} 
関連する問題