Sobes.tech
Middle

Was ist Shadow DOM?

sobes.tech KI

Antwort von AI

Shadow DOM — ist ein Web-Standard, der es ermöglicht, den DOM-Baum und die Stile innerhalb einer Komponente zu kapseln und vom Rest des Dokuments zu isolieren.

Hauptkonzepte:

  • Shadow tree: Eigenständiger DOM-Baum, an ein Element angehängt.
  • Shadow boundary: Grenze, die den Shadow DOM vom Hauptdokument trennt.
  • Shadow host: Element, an das der Shadow DOM angehängt ist.
  • Shadow root: Wurzelknoten des Shadow tree.

Vorteile:

  • Stilisolierung: Stile, die innerhalb des Shadow DOM definiert sind, beeinflussen keine Elemente außerhalb davon, und umgekehrt.
  • DOM-Isolierung: Die DOM-Struktur innerhalb des Shadow DOM ist nicht sichtbar und nicht direkt vom Hauptdokument zugänglich, was Konflikte bei IDs und Klassen verhindert.
  • Kapselung: Erstellt modulare, wiederverwendbare Komponenten.

Erstellung des Shadow DOM:

const hostElement = document.getElementById('my-component');
const shadowRoot = hostElement.attachShadow({ mode: 'open' }); // Modus: 'open' - zugänglich via JavaScript; 'closed' - nicht

shadowRoot.innerHTML = `
  <style>
    /* Stile nur für dieses Shadow DOM */
    p {
      color: blue;
    }
  </style>
  <p>Dies ist der Inhalt des Shadow DOM</p>
`;