【发布时间】:2019-07-16 04:46:40
【问题描述】:
如果您创建一个带有阴影根的自定义元素,并使用 :host 选择器向其添加样式规则:
<style>
:host {
color: red;
}
</style>
然后在 light DOM 中为自定义元素添加样式,使用元素选择器:
<style>
custom-element {
color: blue;
}
</style>
元素选择器中的样式取代了:host 选择器中的样式。这可以说是理想的行为——但我很好奇为什么这是真的……如果:host 是一个伪类,它不应该比custom-element 具有更高的特异性,并优先吗?如果这是规则的一个例外,它是否记录在某处的规范中?
See JsFiddle Example
【问题讨论】:
-
CMIIW,但情况可能并非如此。如果您检查该元素,您会注意到
:host与custom-element具有相似的特异性。如果它被覆盖,它将被划掉。 screenshot inspect
标签: css css-selectors shadow-dom css-specificity