Light DOM和Shadow DOM之间的区别

时间:2017-02-07 15:26:43

标签: web-component shadow-dom

我偶然发现了几次Light DOM的事情,但无法理解与Shadow DOM的区别。如果有人能提供明确的答案,那将非常感激。

2 个答案:

答案 0 :(得分:11)

Light DOM 只是HTML元素中的普通旧 DOM树。

该术语仅用于组件的上下文中,以区别于Shadow DOM。 我认为正常的DOM被重新定义为 Light Shadow 相比。

The specs将其称为 shadowroot主机的节点树灯树

  

影子根始终通过其主机附加到另一个节点树。因此,影子树永远不会孤单。阴影根主机的节点树有时也称为轻树。

我把它称为普通的DOM: - )

Shadow DOM 恢复掩码替换普通DOM的添加DOM,如在article from Google中解释。

渲染的DOM可以是Shadow DOM和Light DOM的组合(通过<slot>元素)

注意:不可能在JavaScript中完全填充Shadow DOM行为,因此Shadow DOM polyfill实际上只处理普通的DOM树。

答案 1 :(得分:2)

你可以说,托管阴影根的节点树被称为光树,它可能是 Light DOM 或另一个 Shadow DOM

specification.

中查看此备注
  

阴影树的相应光树本身可以是阴影树。