2010-02-04 28 views
16

vielleicht belle ich den falschen Baum an. Ich habe eine Tabelle mit 6 Spalten, jede mit einer geordneten Liste. Ich möchte, dass sie alle einen Rahmen haben, mit Ausnahme der ersten Liste.Wählen Sie die erste Liste in der Tabelle - CSS First-Kind?

The site is in development here Im Grunde aber die html ist

<tr> 
<td> 
    <ol> 
    <li>hello</li> 
    </ol> 
</td> 
<td> 
    <ol> 
    <li>hello</li> 
    </ol> 
</td> 
<td> 
    <ol> 
    <li>hello</li> 
    </ol> 
</td> 
</tr> 

dachte ich, das erste Kind von tr wie so tr:first-child ol {style}

Antwort

24

Der :first-child Wähler CSS2 funktionieren würde und nicht auf IE6 unterstützt. Wenn IE6 wichtig ist, müssen Sie dem ersten Kind eine Klasse geben, die Sie auswählen können. Aber die richtige Syntax lautet:

tr td:first-child ol { ... } 

Wenn Sie das tun:

tr:first-child ... 

Sie tatsächlich <tr> Elemente auswählen, die sind ersten Kinder. Beachten Sie auch, dass:

tr :first-child ... 

ist die erste Kinder von Tabellenzeilen auswählen.

+0

Excellent Dank sehr viel, es funktioniert jetzt :) ich IE6 nicht für diese Website kümmern müssen, dank – morktron

+1

wieder Seien Sie vorsichtig mit 'tr (Gott sei Dank!): First-child' weil dieser Ziele alles, was ein erstes Kind innerhalb eines 'tr' ist. Es kann auf alle Bilder, Links, Spannen usw. in Ihrem Markup unerwartet reagieren. Du meinst fast sicher: 'tr td: erstes Kind, trth: erstes Kind ', wenn du das schreibst. – adamnfish

+2

@adamnfish: Oder einfach 'tr>: first-child', denn in verschachtelten Tabellen würde Ihr Selektor alle verschachtelten' td' und 'th' auswählen, die auch die ersten Kinder sind ... – BoltClock

3

Das ist nicht ganz, wie es funktioniert, tr:first-child ol wählt die tr, die das erste Kind seines übergeordneten Elements ist. Sie müssen stattdessen die Pseudoklasse first-child auf der td verwenden.

Verwandte Themen