[英]Global Styles do not override shadow dom style
根据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
请注意,设置为全局填充的填充不会应用于应用程序覆盖子对象(尽管它应该赢得组件的样式)。
我缺少任何步骤吗?
好的,这很容易混淆,所以我把它放在这里,以防万一有人撞到它。
通过全局作用域样式进行的覆盖仅适用于可继承的CSS属性。 如果您想设置一些不可继承的属性(例如padding-参见此处的完整列表)。
因此,我猜想对非继承属性执行此操作的唯一方法是通过模板(例如,调用文件)注入CSS或通过CSS变量。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.