Middle
¿Qué es Shadow DOM?
sobes.tech AI
Respuesta de la IA
Shadow DOM — es un estándar web que permite encapsular el árbol DOM y los estilos dentro de un componente, aislándolos del resto del documento.
Conceptos principales:
- Shadow tree: Árbol DOM propio, adjunto a un elemento.
- Shadow boundary: Frontera que separa el Shadow DOM del documento principal.
- Shadow host: Elemento al que se adjunta el Shadow DOM.
- Shadow root: Nodo raíz del Shadow tree.
Ventajas:
- Aislamiento de estilos: Los estilos definidos dentro del Shadow DOM no afectan a los elementos fuera de él, y viceversa.
- Aislamiento del DOM: La estructura DOM dentro del Shadow DOM no es visible ni accesible directamente desde el documento principal, lo que previene conflictos de id y clases.
- Encapsulación: Crea componentes modulares y reutilizables.
Creación del Shadow DOM:
const hostElement = document.getElementById('my-component');
const shadowRoot = hostElement.attachShadow({ mode: 'open' }); // mode: 'open' - accesible desde JavaScript; 'closed' - no
shadowRoot.innerHTML = `
<style>
/* Estilos solo para este Shadow DOM */
p {
color: blue;
}
</style>
<p>Este es el contenido del Shadow DOM</p>
`;