在查看Polymer时,我在Chrome 37的开发人员工具的样式标签中看到以下CSS选择器:
我还看到了一个带有伪选择器::shadow
的选择器。
那么,CSS选择器中的/deep/
和::shadow
是什么意思?
答案 0 :(得分:70)
正如Joel H.在评论中指出的那样,Chrome已经弃用了/deep/
组合器,并且在IE中出现语法错误。
HTML5 Web Components提供CSS样式的完全封装。
这意味着:
但是,有时您希望使用页面级规则来操纵在其shadow DOM中定义的组件元素的表示。为此,您需要将/deep/
添加到CSS选择器。
因此,在显示的示例中,html /deep/ [self-end]
正在选择具有html
属性的self-end
(顶级)元素下的所有元素,包括那些隐藏在Web组件的阴影DOM根中的元素
如果要求所选元素存在于影子根目录中,则可以在其父元素上使用::shadow
伪选择器。
考虑:
<div>
<span>Outer</span>
#shadow-root
<my-component>
<span>Inner</span>
</my-component>
</div>
选择器html /deep/ span
将同时选择<span>
个元素。
选择器::shadow span
将仅选择内部<span>
元素。
在W3C的CSS Scoping Module规范中了解更多相关信息。