2013-04-26 47 views

cevap

7

Sen şöyle :not() ve :only-child seçicileri bir arada kullanabilirsiniz: o tek çocuk değilse

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

Kod nispeten açıklayıcı kendini, sadece ilk çocuğu etkileyecektir.

DEMO

O support olsa nispeten kötü vardır, size aşağıda IE8 veya desteklemek için gerekirse bunu telafi için javascript polyfill gerekebilir.

+0

iyi biri :) @Andy – Ashwin

+0

Bunun ihtiyacım olanı yaptığını görüyorum. bu yüzden sadece yeni bir tarayıcı için ve IE> = 8 için çalışıyor mu? – Atomico

+1

@Atomico Hayır, [IE için> 8 (yani, IE> = 9)] (https://developer.mozilla.org/en-US/docs/CSS/:not#Browser_compatibility). – Passerby

0

Bunun, css class kullanmadan mümkün olduğunu sanmıyorum. Tr dinamik olarak oluşturuyorsanız. Ben aşağıda yapmanız tavsiye ediyorum:

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: inci salt çocuğa: birinci child` bazı varsayılan stili varsa

applyCSS { .... } 
İlgili konular