2013-04-26 8 views
5

がある場合は最初のにルールを適用するには、2以上<tr><thead>に存在する場合、それは最初<tr>の最初<th>でのルールを適用することができますか?CSS:2 <tr>

私がやった:

table tr:first-child th:first-child 

だけ1 <tr> tiはとにかく適用がある場合。

+0

あなたには、いくつかのデフォルトのスタイルを持っている場合、あなたは 'TRに適用することができます子のみの場合は "上書き"します。 – Passerby

答えて

7

あなたはとても似:not():only-childセレクタの組み合わせを使用することができます。それが唯一の子でない場合

tr:first-child:not(:only-child) th:first-child { 
    color:red; 
} 

コードは比較的自明です、それだけで最初の子に影響します。

DEMO

それはあなたが以下IE8かをサポートする必要がある場合、それを補うためにjavascript polyfillを必要とするかもしれない、けれども比較的悪いsupportを持っています。

+0

良い1)@アンディ – Ashwin

+0

私はこれが私が必要とすることを参照してください。それは新しいブラウザとIE> = 8の場合にのみ機能しますか? – Atomico

+1

@Atomicoいいえ、[IE> 8(ie IE> = 9)](https://developer.mozilla.org/en-US/docs/CSS/:not#Browser_compatibility)。 – Passerby

0

これは、CSS classを使用せずには可能ではないと思います。 trを動的に作成している場合。私は以下のように行うことをお勧めします:

if(condition for rows > 2) { 
    <tr><th class="applyCSS"></th><th></th></tr> 
    <tr><th></th><th></th></tr> 
    ...... 
} 
else {  //only one tr 
    <tr><th></th><th></th></tr> 
} 

はCSS:第1〜第-child`:第のみ-子:

applyCSS { .... } 
関連する問題