【发布时间】:2017-03-06 01:37:52
【问题描述】:
我正在尝试为阴影 DOM 根的子元素设置样式。
这定义了一个名为element-el 的自定义元素,它有一个名为“x”的span 类,其中包含字母x,就目前的情况而言,我希望它是红色的。
class El extends HTMLElement {
constructor() {
super();
var shadow = this.attachShadow({mode:'open'});
shadow.innerHTML = '<span class="x">X</span>';
}
}
customElements.define ('element-el',El);
我已经尝试过这些 CSS 样式:
element-el::slotted(.x) {
color:red;
}
element-el::host .x {
color:red;
}
element-el:host .x {
color:red;
}
element-el::shadow .x {
color:red;
}
element-el /deep/ .x {
color: red;
}
element-el::content .x {
color:red;
}
X 不会变成红色。 我正在使用 Chrome 56,它应该支持这个...
我想在不将style 元素放入shadow DOM 的情况下对其进行样式设置。
这是一个代码笔:
http://codepen.io/anon/pen/OpRLVG?editors=1111
编辑:
This article 建议可以从外部 CSS 文件中设置阴影子项的样式——他们是不是完全错了?
【问题讨论】:
-
到目前为止,对于 Angular 4.3.0+(Angular 12.x),请参阅:How to style child components from parent?
标签: css web-component shadow-dom custom-element