Über diese Website

Dieser Kasten steht auf jeder Seite in der linken Spalte. Was darin steht, änderst du in der Konfiguration unter Plugins — oder du schaltest ihn dort ab.

Über dieses Handbuch

Dieses Handbuch gehört zur Vorlage Example für QuartzControl. Es erklärt die Vorlage und führt zugleich alles vor, was sie kann.

Der Text hier kommt aus einer Markdown-Datei, nicht aus der Konfiguration.

has() Pseudoklasse (MDN)

has() Pseudoklasse (MDN)

Quelle / bibliografische Angaben

MDN-Referenz „:has() CSS pseudo-class“, englische Fassung. Dateiname ohne Doppelpunkt.

Kurzfassung

:has() trifft ein Element, wenn ein relativer Selektor ausgehend von diesem Element etwas findet. Die Seite enthält einen eigenen Abschnitt zur Performance.

Kernaussagen

  • Spezifität: die des spezifischsten Arguments, wie bei :is() und :not().
  • Fehlender Support: Kennt ein Browser :has() nicht, scheitert der ganze Selektorblock — außer :has() steht in einer fehlertoleranten Liste von :is() oder :where().
  • Keine Schachtelung: :has() darf nicht in :has() stehen.
  • Keine Pseudoelemente, weder im Argument noch als Anker. Begründung: Viele Pseudoelemente existieren nur abhängig vom Styling ihrer Vorfahren; sie per :has() abzufragen, könnte zirkuläre Abfragen erzeugen.
  • Performance: Bei DOM-Änderungen muss der Browser :has() neu bewerten. Der Anker (das A in A:has(B)) sollte kein Element mit sehr vielen Nachfahren sein, also nicht body, :root oder *. Das Argument eng fassen, etwa mit > oder +, damit nicht ganze Teilbäume durchsucht werden.

Eigene Einordnung

Die Grenzen (keine Schachtelung, keine Pseudoelemente), die in CSS-Pseudoklasse has() bisher als ungeprüft markiert waren, sind hiermit durch MDN belegt. Der Performance-Abschnitt ist deutlicher als die meisten Blogartikel.

Verknüpftes Wissen

Offene Fragen

  • Konkrete Messwerte zur Performance nennt die Seite nicht.

Weiterlesen

Diese Seite gehört zu gui-test — der Beispielvorlage für QuartzControl. Ein Überblick über alle Bereiche steht auf der Startseite.

Auf einem schmalen Bildschirm ist die Navigation oben eingeklappt.