我注意到使用聚合物定制样式时级联并不总是正确的。从它的外观来看,这可能是级联应用于自定义元素的方式中的一个错误,但我只想确认我没有做一些愚蠢的事情。
对于我的自定义元素,请考虑以下范围样式:
#price ::content .price span {
display: block;
padding: 4px;
border-top: 1px solid var(--color-gray1);
}
#price ::content .price span:first-child { border-top: none; }
...但是一旦渲染, :first-child 就会被第一个定义覆盖,如下图所示。确保border: none
正确应用 my 的唯一方法是使用!important
,我不希望这样做。
我应该注意到,我在许多其他地方都看到过这种行为,并选择仅将!important
其用作快速解决方案,但这开始感觉很笨拙。
只需在此处添加渲染元素的图像即可显示“不正确”的顶部边框。