在我的 HTML 中,我有:
<link rel="stylesheet" href="css/styles.css">
<script src="js/components/custom.js"></script>
...
<custom></custom>
在custom.js
,假设我已经定义:
class Custom extends HTMLElement {
connectedCallback() {
const shadow = this.attachShadow({mode: 'open'});
shadow.innerHTML = `
<style>
@import url('/css/styles.css');
</style>
...
`
}
}
customElements.define('custom', Custom)
在styles.css
中,当我定义样式时,它们会起作用。但我不能做类似的事情
custom img {
}
以img
内部为目标custom
。我必须使用包装器div.custom-contents
来定位其中的元素。
这是一个已知的限制,也许@import
是像这样的 s,一般的自定义元素,还是我做错了什么?