CSS Scoping
Das CSS Scoping-Modul definiert die Mechanismen zur CSS-Eingrenzung und -Kapselung und konzentriert sich auf den Shadow DOM Eingrenzungs-Mechanismus.
CSS-Stile sind entweder global oder auf einen shadow tree beschränkt. Global eingrenzte Stile gelten für alle Elemente im Knotenbaum, die dem Selektor entsprechen, einschließlich benutzerdefinierter Elemente in diesem Baum, jedoch nicht für die Shadow Trees, die jedes benutzerdefinierte Element zusammensetzen. Selektoren und ihre zugehörigen Stildefinitionen bluten nicht zwischen den Eingrenzungen.
Innerhalb des CSS eines Shadow Trees wählen Selektoren keine Elemente außerhalb des Baums aus, weder im globalen Bereich noch in anderen Shadow Trees. Jedes benutzerdefinierte Element hat seinen eigenen Shadow Tree, der alle Komponenten enthält, die das benutzerdefinierte Element ausmachen (aber nicht das benutzerdefinierte Element oder den "Host" selbst).
Manchmal ist es nützlich, einen Host aus dem Kontext des Shadow Trees heraus zu gestalten. Das CSS Scoping-Modul macht dies möglich, indem es Selektoren definiert, die:
- Es einem Shadow Tree ermöglichen, seinen Host zu gestalten.
- Externem CSS ermöglichen, Elemente innerhalb eines Shadow DOM zu gestalten (aber nur, wenn das zugehörige benutzerdefinierte Element so eingerichtet ist, dass es externe Stile akzeptiert).
Referenz
>Selektoren
Leitfäden
- Web Components
-
Eine Einführung in die verschiedenen Technologien, die verwendet werden, um wiederverwendbare Webkomponenten zu erstellen — benutzerdefinierte Elemente, deren Funktionalität vom Rest Ihres Codes gekapselt ist.
- Verwendung von Shadow DOM
-
Grundlagen des Shadow DOM, einschließlich der Anfügung eines Shadow DOM an ein Element, der Hinzufügung zum Shadow DOM-Baum und der Gestaltung.
- Verwendung von Vorlagen und Slots
-
Definition einer wiederverwendbaren HTML-Struktur mit den
<template>- und<slot>-Elementen und Verwendung dieser Struktur in Webkomponenten. - Verwendung von benutzerdefinierten Elementen
-
Einführung in die Custom Elements API, die JavaScript-API, die verwendet wird, um benutzerdefinierte Elemente zu erstellen, die Funktionalität kapseln.
Verwandte Konzepte
-
CSS
:definedPseudo-Klasse -
CSS
::partPseudo-Element -
HTML
<template>Element -
HTML
<slot>Element -
HTML
slotAttribut -
Verzeichnisbaum Glossarbegriff
-
DOM Glossarbegriff
-
Verbundener Selektor Begriff
-
Selektoren-Liste Begriff
-
Webkomponenten Schnittstellen, Eigenschaften und Methoden
CustomElementRegistrySchnittstelleElementAPIElement.slotEigenschaftElement.assignedSlotEigenschaftElement.attachShadow()Methode
HTMLSlotElementSchnittstelleHTMLTemplateElementSchnittstelleShadowRootSchnittstelle
Hinweis:
Trotz des Namens wird die :scope Pseudo-Klasse, die Elemente darstellt, die einen Referenzpunkt (oder Scope) für Selektoren darstellen, im Selektoren Modul definiert. Sie ist ansonsten nicht mit dem CSS Scoping-Modul verwandt, das sich auf Eingrenzungen bezieht, die den Shadow DOM Scoping-Mechanismus betreffen.
Spezifikationen
| Specification |
|---|
| CSS Scoping Module Level 1> |
Siehe auch
- CSS Selektoren Modul
- CSS Pseudo-Elemente Modul
- CSS Namespaces Modul
- CSS Shadow-Parts Modul
- Template, Slot und Shadow auf web.dev (2023)
- Best Practices für benutzerdefinierte Elemente auf web.dev (2019)