Polymer 如何使用周围的页面';自定义元素中链接的s样式?

Polymer 如何使用周围的页面';自定义元素中链接的s样式?,polymer,web-component,shadow-dom,Polymer,Web Component,Shadow Dom,我有一个自定义的元素,它在shadowdom中生成一个链接,我希望它的样式与周围页面中的其他链接相同。旧的applyAuthorStyles属性是实现这一点的一个不错的方法,尽管它有自己的优点。现在,applyAuthorStyles已被删除,我看到的选项是让嵌入程序将其全局样式定义为: a,*^a{color:green;} 以此类推,这会影响不需要页面样式的元素的样式 有更好的方法吗 我在和下面有一些示例代码。只有当浏览器打开了本机阴影DOM时,才会看到不一致性(chrome://flag

我有一个自定义的
元素,它在shadowdom中生成一个链接,我希望它的样式与周围页面中的其他链接相同。旧的
applyAuthorStyles
属性是实现这一点的一个不错的方法,尽管它有自己的优点。现在,
applyAuthorStyles
已被删除,我看到的选项是让嵌入程序将其全局样式定义为:

a,*^a{color:green;}
以此类推,这会影响不需要页面样式的元素的样式

有更好的方法吗

我在和下面有一些示例代码。只有当浏览器打开了本机阴影DOM时,才会看到不一致性(chrome://flags/#enable-Chrome中的实验性web平台功能)


试验
正文{最大宽度:50ch;}
a{颜色:绿色;文本装饰:无;边框底部:1px蓝色虚线;}
a:访问{color:darkgreen;}
:host{display:block;}
页眉{字体大小:粗体;边距:20px 0;}
标头::在{清除:两者;显示:块;内容:;高度:0}之后
{{sec_num}}
福吧巴兹酒店
侵入不需要页面样式的元素的样式

是的,如果您使用
*
,则会发生入侵,因此请改用特定元素的样式:

a,我的头^a,正文^my header^a{..}

Fwiw,我不认为有人喜欢这种语法,但这就是今天支持的CSS


有一些更奇特的解决方案涉及到额外的自定义元素来管理动态的、共享的样式表,但这是一个更大的主题。Polymer不久将围绕这些行提供某种解决方案。

再仔细检查一下,今天可能的一切都是由文档样式表从外到内驱动的,而不是Polymer元素能够从上下文中提取样式?答案是肯定的,但有一些细微差别。元素可以根据其上面的结构进行自身样式设置(即,您可以构建检查包含DOM的选择器),但CSS(甚至在ShadowDOM之外)中没有允许选择器从另一个位置拉入规则的概念。