Html 如何将聚合物与现有样式表一起使用?
提到可以使用Html 如何将聚合物与现有样式表一起使用?,html,css,polymer,shadow-dom,Html,Css,Polymer,Shadow Dom,提到可以使用/deep/跨阴影DOM边界选择元素。然而,我已经有了一个来自我的客户购买的主题的样式表。是否可以使样式表中的选择器在不更改样式表本身的情况下跨阴影DOM边界工作?其他地方建议使用applyAuthorStyles,但这似乎已从shadow DOM规范中删除。由于/deep/and::shadow选择器已经存在,而且您无论如何都不想修改现有样式表,因此我建议您在组件模板中使用css@imports(我假设您将克隆并使用它作为影子根)以包含此外部样式表。 这将本质上使该样式成为组件的本
/deep/
跨阴影DOM边界选择元素。然而,我已经有了一个来自我的客户购买的主题的样式表。是否可以使样式表中的选择器在不更改样式表本身的情况下跨阴影DOM边界工作?其他地方建议使用applyAuthorStyles
,但这似乎已从shadow DOM规范中删除。由于/deep/and::shadow选择器已经存在,而且您无论如何都不想修改现有样式表,因此我建议您在组件模板中使用css@imports(我假设您将克隆并使用它作为影子根)以包含此外部样式表。
这将本质上使该样式成为组件的本地样式,并在shadowdom中可用
如果您担心性能问题,请在同一页上查看
tl,dr,
使用浏览器缓存,基本上不会对这么多用户造成任何损失
导入,事实上,它可能比通过
使用穿孔器的多个阴影树
您是在制作自己的自定义元素,还是直接使用核心元素和纸质元素?自定义元素,但它们包含主题样式表所针对的HTML元素。样式表有
AB
选择器,其中只有b
位于聚合元素中。您是否尝试在元素定义中使用现有样式表?@Casse我有。当a
在聚合物元素外部而b
在聚合物元素内部时,ab
选择器就不能工作。我相信,如果不修改样式表,你想要的确切行为是不可能的。影子DOM的存在是为了提供封装,给开发人员某种安全性,他们的元素不会被屏蔽基本上,你想摆脱所有与上述原则相矛盾的封装。但是,你可以用脚本在CSS中的每两个选择器之间插入/deep/
,这应该是比较轻松的。我知道这不是你想要的答案,因此我将其作为注释。