Vaadin:为什么Horizo​​ntalLayout 有阴影 DOM

Vaadin: Why does e.g. HorizontalLayout have a Shadow DOM

这个问题是关于理解为什么它是这样实现的。

当查看 HTML 时Horizo​​ntalLayout,VerticalLayout,可以看到它们有一个 Shadow DOM,里面只有一个 <slot>-Element 包含内容。

据我了解,Shadow DOMs 的目的是将样式的范围限制在单个组件中,<slot> 提供了包含具有全局样式的组件的可能性造型。所以 <vaadin-horizontal-layout> 里面的阴影 DOM 看起来什么也没做,因为本地样式不适用于 <slot>-content.

假设这是最优雅的解决方案,那么问题出在哪里?这个建筑的目的是什么?它是否使用了我不知道的 Shadow DOM 属性?

Vertical/Horizontal布局的阴影dom包含布局的样式(内边距、边距、间距、方向……)。

这是组件的内部行为。

您可以在组件的插槽中添加子项,这样您就可以使用全局样式对它们进行样式设置。