Gestalten Sie die erste <td> -Spalte einer Tabelle anders

Antworten:

157

Sie können den n-ten untergeordneten Selektor verwenden .

Um auf das n-te Element abzuzielen, können Sie Folgendes verwenden:

td:nth-child(n) {  
  /* your stuff here */
}

(wo nbeginnt bei 1)

RRikesh
quelle
21
Schlagen Sie td: first-child vor allem deshalb vor, weil es mehr Unterstützung für ältere IE-Versionen bietet. Wenn die Browserunterstützung kein Problem darstellt, ist nth-child ein leistungsstarker Selektor, mit dem Sie beginnen können.
Lukek
6
Ja, für das erste Element first-childist es besser. Aber OP fragte nach beidem :)
RRikesh
15
Und nbeginnen Sie mit 1, nicht mit 0.
Robsch
11

Wenn Sie IE7 unterstützen müssen, ist eine kompatiblere Lösung:

/* only the cells with no cell before (aka the first one) */
td {
    padding-left: 20px;
}
/* only the cells with at least one cell before (aka all except the first one) */
td + td {
    padding-left: 0;
}

Funktioniert auch gut mit li; Der allgemeine Geschwister-Selektor ~eignet sich möglicherweise besser für gemischte Elemente wie eine Überschrift h1, gefolgt von Absätzen UND einer Unterüberschrift und dann wieder anderen Absätzen.

FelipeAls
quelle
6

Mit den Pseudoklassen: nth-child () und : nth-of-type () können Sie Elemente mit einer Formel auswählen.

Die Syntax lautet : n-tes Kind (an + b) , wobei Sie a und b durch Zahlen Ihrer Wahl ersetzen.

Zum Beispiel: n-tes Kind (3n + 1) wählt das 1., 4., 7. usw. Kind aus.

td:nth-child(3n+1) {  
  /* your stuff here */
}

: nth-of-type () funktioniert genauso, außer dass nur Elemente des angegebenen Typs berücksichtigt werden (im Beispiel).

MS Ibrahim
quelle
4

Das sollte helfen. Es ist CSS3: Erstes Kind, wo Sie sagen sollten, dass das erste trder Tabelle, die Sie stylen möchten. http://reference.sitepoint.com/css/pseudoclass-firstchild

Tiantang
quelle
3
Auch wenn Sie nur den ersten treines bestimmten Tisches .tableclass tr:first-child#tableid tr:first-child
stylen möchten, können
1
:first-childist nicht neu in CSS3.
BoltClock
1

Mit dieser Syntax können Sie die erste Spalte einer Tabelle auswählen

tr td:nth-child(1n + 2){
  padding-left: 10px;
}
Saptarshi Banerjee
quelle