CSS Resets应该如何应用于Polymer组件?

时间:2016-08-05 17:18:47

标签: css polymer polymer-1.0 web-component shadow-dom

例如,此处是superfly-css Foundation重置一次:

    /**
     * [SB] Suppress the focus outline on elements that cannot be accessed via keyboard.
     * This prevents an unwanted focus outline from appearing around elements that
     * might still respond to pointer events.
     */

    [tabindex="-1"]:focus {
      outline: none !important;
    }

我希望这个重置适用于所有元素,无论它们是在“阴影dom”还是“light dom”中。有没有办法确保这种情况 - 特别是在使用第三方组件时?

TIA, 奥莱

1 个答案:

答案 0 :(得分:1)

您无法修改Shadowed第三方Web组件的CSS样式,因为它是Shadow DOM的主要功能之一:

CSS被Shadow边界关闭。 唯一的标准shadow-piercing combinator并不适用于CSS规则。

Polymer不提供perrenial解决方案来应用此类全局重置。仅当第三方提供商在其Web组件中实现它们时才能应用Custom Properties,而在大多数常见情况下并非如此。

CSS重置将自动传播到Light DOM,您必须逐个将它们插入到具有Shadow DOM的组件中。