:has-slotted

Limited availability

This feature is not Baseline because it does not work in some of the most widely-used browsers.

Experimentell: Dies ist eine experimentelle Technologie
Überprüfen Sie die Browser-Kompatibilitätstabelle sorgfältig, bevor Sie diese produktiv verwenden.

Die :has-slotted CSS Pseudoklasse trifft zu, wenn der Inhalt eines <slot>-Elements nicht leer ist oder nicht den Standardwert verwendet (siehe Verwendung von Vorlagen und Slots für weitere Informationen).

Hinweis: Selbst ein einzelner Leerzeichen-Textknoten reicht aus, um :has-slotted anzuwenden.

Dies funktioniert nur, wenn es innerhalb von CSS verwendet wird, das im Shadow DOM platziert ist.

css
/* Selects the content of a <slot> element that has content that is not default  */
:has-slotted {
  color: green;
}

/* Selects the content of a <slot> element that has no content or default  */
:not(:has-slotted) {
  color: red;
}

Syntax

css
:has-slotted {
  /* ... */
}

Beispiele

Dieses Beispiel enthält zwei <slot>-Elemente, von denen eines mit Inhalt zugewiesen ist und das andere nicht.

HTML

html
<p>
  <template shadowrootmode="open">
    <style>
      :has-slotted {
        color: rebeccapurple;
      }
    </style>
    <slot name="one">Placeholder 1</slot>
    <slot name="two">Placeholder 2</slot>
  </template>
  <span slot="one">Slotted content</span>
</p>

Ergebnis

Das <slot>-Element, dem Inhalt zugewiesen wurde, hat mit der :has-slotted-Pseudoklasse übereingestimmt und der color-Wert rebeccapurple wurde angewendet.

Spezifikationen

Specification
CSS Scoping Module Level 1
# the-has-slotted-pseudo

Browser-Kompatibilität

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

Siehe auch