Was ist Declarative Shadow DOM Generator?
Declarative Shadow DOM ist eine Browserfunktion, die Shadow DOM aus HTML-Markup ohne JavaScript erstellt. Ein template-Element mit dem shadowrootmode-Attribut innerhalb eines Host-Elements teilt dem Browser mit, einen Shadow-Root zu erstellen und mit dem Template-Inhalt zu befüllen. Dies ermöglicht serverseitiges Rendern von Webkomponenten mit gekapseltem CSS, die bereits vor dem Laden von JavaScript funktionieren.
Kurze Antwort
Declarative Shadow DOM erzeugt gekapseltes DOM und gekapseltes CSS aus HTML-Markup ohne JavaScript. Verwenden Sie <template shadowrootmode='open'> innerhalb eines benutzerdefinierten Host-Element-Tags. Unterstützt in Chrome, Edge und Safari. Fügen Sie Fallback-Inhalte für Firefox ein.
Last updated: 2026-05-28
Einschränkungen
- Firefox unterstützt Declarative Shadow DOM noch nicht (Stand 2026). Fügen Sie immer Fallback-Inhalte ein, die über CSS angezeigt werden, wenn DSD nicht unterstützt wird.
- Declarative Shadow DOM erstellt den Shadow-Root und Inhalt nur während der anfänglichen Seitenanalyse. Dynamisch hinzugefügtes DSD-Markup wird nicht verarbeitet —verwenden Sie für die clientseitige Erstellung imperatives attachShadow().
- Einige JavaScript-Frameworks und -Bibliotheken integrieren sich noch nicht mit Declarative Shadow DOM für SSR-Hydration. Überprüfen Sie die Framework-Unterstützung, bevor Sie DSD in einer frameworkbasierten App einsetzen.
Sources:MDN Web Docs · W3C Specifications · jquery.app on GitHub
So nutzt du dieses Tool
- Geben Sie einen benutzerdefinierten Host-Element-Tag mit Bindestrich ein (erforderlich für gültige benutzerdefinierte Elementnamen).
- Wählen Sie den offenen oder geschlossenen Shadow-Root-Modus —offen ermöglicht JavaScript-Zugriff über shadowRoot.
- Fügen Sie den inneren HTML-Inhalt mit slot-Elementen für die Inhaltsprojektion hinzu.
- Fügen Sie optional gekapseltes CSS hinzu, das nur innerhalb dieses Shadow-Roots gilt.
- Kopieren Sie das Snippet und binden Sie es in Ihre SSR-Ausgabe oder Ihr statisches HTML ein.
Wofür du es nutzen kannst
- Eine Webkomponente mit gekapseltem CSS auf dem Server rendern, sodass sie sofort ohne JavaScript erscheint.
- Ein in sich geschlossenes HTML-Widget mit isolierten Styles zur Einbettung in jede Seite erstellen.
- Eine statische Seitenkomponente mit Shadow-DOM-Kapselung ohne Build-Schritt erstellen.