【发布时间】:2021-11-25 18:55:22
【问题描述】:
这个问题是关于理解为什么以这种方式实现的。
当查看例如 HTML HorizontalLayout,VerticalLayout,可以看到他们有一个Shadow DOM,里面只有一个<slot>-Element 包含内容。
据我所知,Shadow DOM 的目的是将样式的范围限制在单个组件中,<slot> 提供了包含具有全局样式的组件的可能性。所以 <vaadin-horizontal-layout> 中的 Shadow DOM 看起来什么都不做,因为本地样式不适用于 <slot>-content。
假设这是最优雅的解决方案,那么问题出在哪里?这种建设的目的是什么?是否使用了我不知道的 Shadow DOM 属性?
【问题讨论】:
-
我没有 Vaadin 经验。但是你是对的 slotted 内容(来自 lightDOM)是由它的容器/全局 CSS 设计的。请参阅:stackoverflow.com/questions/61626493/…。从您的屏幕截图看来,没有您也可以这样做;唉,许多开发人员认为您需要在 Web 组件中使用 shadowDOM。
标签: vaadin shadow-dom