:has() in CSS HTML-Elemente auswählen

Wie Sie mit dem :has()-Selektor präzise HTML-Elemente auswählen

Ole Mai
Inhaltsverzeichnis
Dauer: 2 Min.
Anleitung
Niveau: 1/5

Eine der häufigsten Herausforderungen beim Schreiben von CSS besteht darin, bestimmte Elemente auszuwählen, die sich in einer bestimmten Beziehung zu anderen Elementen auf der Seite befinden.

Obwohl CSS verschiedene Selektorarten unterstützt, gibt es Situationen, in denen die verfügbaren Optionen nicht ausreichen. In solchen Fällen kann das Verwenden des CSS-Selektors :has() nützlich sein.

Verwendung von :has() im CSS

Die :has()-Pseudo-Klasse wird verwendet, um ein Element auszuwählen, das ein anderes Element enthält, das den angegebenen Selektor erfüllt.

Dies ermöglicht es Ihnen, eine Regel zu definieren, die auf ein Element angewendet wird, das ein bestimmtes Child-Element enthält.

Der :has()-Selektor hat eine ähnliche Syntax wie der :not()-Selektor und verwendet Klammern, um den inneren Selektor zu umschließen.

Hier ist ein Beispiel, wie Sie :has() verwenden können, um alle Links auszuwählen, die sich innerhalb eines Elements mit der Klasse “.container” befinden:

.container:has(a) {
  color: red;
}

In diesem Beispiel wird die Farbe aller Links innerhalb des Elements mit der Klasse .container auf rot gesetzt. Wenn es keine Links innerhalb des Elements gibt, wird die Regel nicht angewendet.

Sie können auch :has() mit anderen Selektoren kombinieren, um komplexere Regeln zu erstellen. Hier ist ein Beispiel, wie Sie :has() verwenden können, um alle Artikel auszuwählen, die mindestens einen Absatz enthalten, der ein Bild enthält:

article:has(p img) {
  border: 1px solid black;
}

In diesem Beispiel wird ein 1-Pixel-Rahmen um alle Artikel mit einem Absatz, der ein Bild enthält, angezeigt.

Browser-Unterstützung für :has()

Es ist jedoch wichtig zu beachten, dass :has() nicht von allen Browsern unterstützt wird. Derzeit wird es nur von einigen Browsern wie Firefox und Safari unterstützt.

Wenn Sie also :has() verwenden möchten, stellen Sie sicher, dass es in den von Ihnen verwendeten Browsern unterstützt wird, oder planen Sie alternative Lösungen.

Fazit

Insgesamt kann :has() eine sehr nützliche Möglichkeit sein, um komplexe Selektionsanforderungen zu erfüllen. Verwenden Sie es jedoch mit Vorsicht und stellen Sie sicher, dass es in den von Ihnen verwendeten Browsern unterstützt wird.

Ole Mai
Ole Mai
Ole beschäftigt sich mit der Prozessoptimierung bei Gegenfeld und fokussiert sich auf die Themen Marketing und Webentwicklung.

News per E-Mail

Hochwertige Lerninhalte
Ratgeber und Kurse – direkt ins Postfach.
Gegenfeld Newsletter

Keine Beratungsleistung

Die Inhalte auf dieser Website stellen keine Finanz-, Steuer- oder Rechtsberatung dar und ersetzen diese auch nicht.

Bitte wenden Sie sich bei Fragen an einen entsprechenden Finanz- oder Steuerberater oder Fachanwalt.