2013-10-05 16 views
17

< td> öğelerinin tümünü < tr> öğesinin tümünü, sola hizalı olmasını istediğim ilk satır dışında sağa hizalanacak şekilde ayarlamaya çalışıyorum. Bunu denedim: Bu, tüm hücreleri doğru hizalanmış hale getirir. Bu iki sıranın sırasını değiştirirsem, tüm hücreler sola hizalanır. Çok şaşkın. Buna göre, ilk çocuk seçici, yalnızca üst öğenin ilk çocuğuysa, belirtilen seçiciyi seçmek için kullanılır. Bu, benim için gerçekleşiyor gibi görünmüyor.İlk <td> için bir <tr>

cevap

44

Sözdizimi yanlıştı.

td { text-align: right };     /* This was being applied */ 
td:first-child { text-align: left };   /* This wasn't.. */ 

olmalı:

td { text-align: right; } 
td:first-child { text-align: left; } 

Not Sütünlar - onlar :first-child düzgün kullandığınız, daha {}

Diğer parantez dışında olmamalıdır. Yapmak istediğiniz şeye bağlı olarak

jsFiddle demo

+1

Çok teşekkür ederim, bu gereksiz yarı-kolonları çıkardıktan sonra mükemmel çalışır. – Gargoyle

+0

@Gargoyle Memnun yardımcı oldu. –

+0

, rowspan ile td varsa, iyi çalışmayacaktır. Bu durumda ikinci bir sütundaki bazı hücreler kural td ile mükemmel şekilde eşleştirilir: ilk çocuk {text-align: left; } –

2

Başka bir seçenek,:

table tr td { 
    background-color:red;} 
table tr td:nth-child(1) { 
    background-color:green;} 
1
td:nth-child(2) { text-align: right; } 

Bunu içinde bir satır yapabilirsiniz.

İlgili konular