Shadow DOM 是 Web 标准,它允许开发者将 UI 组件封装成独立的 DOM 树,从而提高应用的模块化和可维护性。本教程将带您了解 Shadow DOM 的基本概念和用法。
Shadow DOM 的特点
- 封装性:将 UI 组件和样式封装在独立的 DOM 树中,不会影响到全局样式。
- 模块化:易于管理和维护,每个组件都是独立的。
- 可定制性:可以自定义组件的样式和行为。
使用 Shadow DOM
以下是一个简单的 Shadow DOM 示例:
<div id="my-shadow-root">
<div class="my-shadow-element">Hello, Shadow DOM!</div>
</div>
.my-shadow-element {
color: red;
font-size: 20px;
}
在上面的示例中,<div id="my-shadow-root">
是宿主元素,<div class="my-shadow-element">
是 Shadow DOM 中的元素。通过在宿主元素上设置 shadowRoot
属性,我们可以访问 Shadow DOM。
const shadowRoot = document.getElementById('my-shadow-root').shadowRoot;
shadowRoot.appendChild(document.createElement('div'));
shadowRoot.querySelector('.my-shadow-element').innerText = 'Shadow DOM is cool!';
扩展阅读
想了解更多关于 Shadow DOM 的内容,可以阅读 Web Component 官方文档。
图片
Shadow DOM 中的元素被封装在一个独立的 DOM 树中,就像一个“影子”一样。