阴影树
Shadow tree 是一组隐藏的 DOM 节点,其最顶层的 节点 是一个 shadow root。Shadow root 是 Shadow DOM 的最顶层节点,不属于常规文档的 DOM 树。
Shadow root 通过一个称为其 host 的特定 DOM 节点连接到另一个节点树。这个 host 可以是另一个 shadow tree 的一部分,也可以是常规 DOM 树的一部分。Shadow root host 的节点树有时被称为 light tree。
Shadow tree 的隐藏 DOM 节点通常不受 shadow tree 外部任何内容的影响,反之亦然。Shadow boundary,即 shadow DOM 结束和常规 DOM 开始的地方,是可以穿越的,但只能非常刻意地进行。
- 要从外部对 shadow tree 节点进行脚本操作,需要使用特殊的 Shadow DOM API 来访问。
- 要从外部为 shadow tree 设置样式,可以通过 CSS scoping 和 CSS shadow parts 来实现。