CSS nth-child: Elemente gezielt auswählen, mit Beispielen

CSS nth-child: Elemente gezielt auswählen, mit Beispielen

Heute geht es um die Grundlagen von CSS. In meinen Artikeln setze ich häufig die Selektoren CSS nth-child ein.

Dabei ist mir aufgefallen, dass ich die Grundlagen der CSS-Selektoren nth-child nie wirklich durchgegangen bin. nth-child ist eine CSS-Pseudoklasse zum Auswählen von Elementen.

Heute gehen wir die Möglichkeiten dieses mächtigen CSS-Selektors anhand einiger Beispiele durch.

Fangen wir mit ein paar einfachen nth-child-Selektoren an:

Wir können die Nummer des Elements angeben, das wir auswählen wollen. Sagen wir, wir wollen das dritte Element der Liste.

css
.article-list li:nth-child(3) {
    	color: green;
}
html
<ul class="article-list">
	<li>Item 1</li>
	<li>Item 2</li>
	<li>Item 3</li>
	<li>Item 4</li>
	<li>Item 5</li>
</ul>

Ergebnis: Nur das dritte Element ist grün

  • Item 1
  • Item 2
  • Item 3
  • Item 4
  • Item 5

Odd/Even-Selektor

Mit odd und even wählen wir jedes ungerade oder gerade Element aus.

css
.article-list-odd li:nth-child(odd) {
    	color: green;
}
html
<ul class="article-list-odd">
	<li>Item 1</li>
	<li>Item 2</li>
	<li>Item 3</li>
	<li>Item 4</li>
	<li>Item 5</li>
</ul>

Ergebnis: Nur die ungeraden Elemente sind ausgewählt:

  • Item 1
  • Item 2
  • Item 3
  • Item 4
  • Item 5

und nth-child(even) für die geraden Elemente:

css
.article-list-even li:nth-child(even) {
    	color: red;
}
  • Item 1
  • Item 2
  • Item 3
  • Item 4
  • Item 5

Jedes x-te Element

Mit dem Selektor nth-child lässt sich jedes x-te Element auswählen. Nehmen wir zum Beispiel jedes vierte Element:

css
... li:nth-child(4n) {
	color: red;
}

Jetzt ist jedes 4. Kindelement ausgewählt:

  • Item 1
  • Item 2
  • Item 3
  • Item 4
  • Item 5
  • Item 6
  • Item 7
  • Item 8
  • Item 9
css
... li:nth-child(4n+1) {
	color: red;
}

Und wenn wir das erste Element mitnehmen wollen:

  • Item 1
  • Item 2
  • Item 3
  • Item 4
  • Item 5
  • Item 6
  • Item 7
  • Item 8
  • Item 9

Oder das zweite Element:

css
... li:nth-child(4n+2) {
	color: red;
}
  • Item 1
  • Item 2
  • Item 3
  • Item 4
  • Item 5
  • Item 6
  • Item 7
  • Item 8
  • Item 9
  • Item 10

Die ersten x Elemente auswählen

Wir können sogar einen Selektor nutzen, der alle Tags außer den ersten drei Elementen auswählt.

css
... li:nth-child(n+4) {
	color: red;
}
  • Item 1
  • Item 2
  • Item 3
  • Item 4
  • Item 5
  • Item 6
  • Item 7
  • Item 8
  • Item 9
  • Item 10

Alle Elemente außer den ersten x auswählen

Wir können sogar einen Selektor nutzen, der alle Tags außer den ersten drei Elementen auswählt.

css
... li:nth-child(n+4) {
	color: red;
}
  • Item 1
  • Item 2
  • Item 3
  • Item 4
  • Item 5
  • Item 6
  • Item 7
  • Item 8
  • Item 9
  • Item 10

Das erste oder das letzte Element auswählen

Wir können auch das erste oder das letzte Element auswählen, mit :first-child und :last-child

css
... li:first-child {
	color: red;
}
... li:last-child {
	color: blue;
}
  • Item 1
  • Item 2
  • Item 3
  • Item 1
  • Item 2
  • Item 3

Damit können wir auch versetzt zählen und so das vorletzte Element der Liste treffen.

css
li:nth-last-child(2) {
	color: red;
}
  • Item 1
  • Item 2
  • Item 3
  • Item 4
  • Item 5

Selektoren kombinieren

Wir können nth-child-Selektoren auch kombinieren!

Sagen wir, du willst alle geraden Elemente aus den ungeraden Listen holen.

css
ul:nth-child(odd) li:nth-child(even) {
	color: red;
}
html
<ul>
	<li>Item 1</li>
	<li>Item 2</li>
	<li>Item 3</li>
	<li>Item 4</li>
	<li>Item 5</li>
</ul>
<ul>
	<li>Item 1</li>
	<li>Item 2</li>
	<li>Item 3</li>
	<li>Item 4</li>
	<li>Item 5</li>
</ul>
<ul>
	<li>Item 1</li>
	<li>Item 2</li>
	<li>Item 3</li>
	<li>Item 4</li>
	<li>Item 5</li>
</ul>
  • Item 1
  • Item 2
  • Item 3
  • Item 4
  • Item 5
  • Item 1
  • Item 2
  • Item 3
  • Item 4
  • Item 5
  • Item 1
  • Item 2
  • Item 3
  • Item 4
  • Item 5

Fazit

Ich hoffe, dieser Artikel hilft dir bei der Umsetzung deiner Seiten mit der Pseudoklasse nth-child. Wenn du wissen willst, welche CSS-Pseudoklassen es sonst noch gibt, sieh dir die folgenden Artikel an:

CSS

Damien Flandrin Webentwickler seit 2010, Gründer von Gekkode und Email Impact. Jeder Artikel wird vor der Veröffentlichung an einem echten Projekt getestet. Kontakt
Newsletter

Neue Tests, Tutorials und Projekte, per E-Mail.

Reproduzierbare Tests, versionierter Code, datierte Ergebnisse. Niemals Spam.