【发布时间】:2019-01-13 03:22:03
【问题描述】:
class MyElement extends HTMLElement {
constructor() {
super()
const shadow = this.attachShadow({mode: 'open'})
shadow.appendChild(document.createTextNode('Yadda blah'))
const span = document.createElement('span')
span.appendChild(document.createTextNode('Can I style U?'))
shadow.appendChild(span)
}
}
customElements.define('my-element', MyElement)
my-element {
border: 1px solid black;
}
span {
font-weight: bold;
}
<my-element></my-element>
如您所见,my-element 具有样式,但是 my-element 中使用的 span 不是。甚至在样式表中说my-element span {font-weight: bold;} 也不会使任何样式生效。
有什么方法可以将样式应用到这个span?
【问题讨论】:
-
@CertainPerformance 感谢您的编辑,但我想我更喜欢 4 个空格的意图:)
-
当然,只是试图修复初始不一致的间距
-
投票重新打开,我认为 OP 想要在 in 他的自定义元素中设置
span的样式。对吗@gaazkam? -
重复的推荐人向您发送过去已弃用的
::shadow答案和多个博客推荐,例如,请参阅: jsfiddle.net/dannye/z8g1v532 以获得更好的“重复答案”,请参阅:stackoverflow.com/questions/52162732/…
标签: javascript css custom-element