【发布时间】:2014-02-17 16:15:39
【问题描述】:
如果我的 Web 组件是 <body> 元素的直接子元素,我必须对它应用特殊的 CSS 样式。到目前为止,这是我尝试过的:
/* applies even if the component isn't a direct child */
:host(body) {
color: red;
}
/* never applies */
:host(body:host) {
color: red;
}
/* never applies */
:host(body:host > my-component) {
color: red;
}
/* never applies */
:host(body > my-component:host) {
color: red;
}
浏览器:Chrome 稳定版 (32.0.1700.107)、Chrome Canary (34.0.1843.3)。
【问题讨论】:
-
你不能只使用简单的传统CSS,比如
body > .my-component吗? -
@matewka,我不能。 Web Components 的全部意义在于通过 HTML 和 CSS 封装的可重用性。组件本身引用了 CSS 文件,因此应该从 Shadow DOM 内部以适用的方式构建 CSS 规则。基本上我在玩这样的东西:html5rocks.com/en/tutorials/webcomponents/shadowdom-201/…
-
对不起,我不知道。那我帮不了你了。
标签: css google-chrome css-selectors web-component shadow-dom