根据https://developers.google.com/web/fundamentals/web-components/shadowdom#stylefromoutside:
外部样式始终胜过影子DOM中定义的样式。对于 例如,如果用户编写了选择器fancy-tabs {width:500px; }, 它将胜过组件的规则::host {width:650px;}。
在我的示例中,这似乎不起作用。我已经设置了一个应用程序覆盖组件。在内部,我有一个.child类的div。根据以上来源,我希望孩子在全局范围内设置填充:
app-overlay .child {
padding: 0 25%;
}
在此处查看完整示例:http://plnkr.co/edit/YQOmtxSA9AThCcNmrEJc?p=preview
请注意,设置为全局填充的填充不会应用于应用程序覆盖的子项(尽管它应该赢得组件的样式)。
我缺少任何步骤吗?
答案 0 :(得分:1)
好的,这很容易混淆,所以我把它放在这里,以防万一有人撞到它。
通过全局作用域样式覆盖仅适用于可继承的CSS属性。 如果您想设置一些不可继承的属性(例如填充-请参见完整列表here)。
所以我想对不可继承属性执行此操作的唯一方法是通过模板(例如调用文件)或CSS变量注入CSS。