2012-05-04 24 views
57

Çok basit olmalı ama anlayamıyorum.İlk satırdaki hücrelere stili uygulayın

bir tablo böyle vardır:

<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> 

İlk tr sıranın td etiketler vertical-align sahip olmak istiyorum. Ama ikinci sıra değil. Eğer tablo iç içe varsa

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

ve iç satırlara stilleri uygulamak istemiyoruz, bu yüzden sadece top bazı alt seçicileri ekleyin:

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

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

+0

Evet, bir soru sormadan önce bu sayfayı görmüştüm, çalışmıyordu. – xperator

cevap

124

Kullanım tr:first-child ilk tr almaya ilk üst düzeyde tr yılında -seviye td ler stilleri olsun:

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

Aslında bunu daha önce denedim, çalışmıyor. Emin değilim neden. – xperator

+0

Ben de bilmiyorum. Bu, tüm büyük tarayıcılar için% 100 güvenir. – BoltClock

+0

FireBug'da birinci ve ikinci satırın td' etiketlerini karşılaştırdığımda, ilk satırın stili miras aldığını ancak ikinci sıranın göremediğini görebiliyorum. İkinci sıranın neden dikey olarak hizalandığını bilmiyorum! – xperator

3

Bu işi yapmak gerekir:

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

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

altında tablonun ilk tr için işler Aşağıda

Ve bu ilk thead ait tr ve tbody ikisi için çalışır:

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