【发布时间】:2020-02-02 19:27:10
【问题描述】:
我有一个类似于jsfiddle 的非常简单的网站。一切似乎都工作正常,但在我的本地,但是当我停在第一行 JS 时(在声明自定义元素之前)我可以看到没有格式的 div...
<jrg-test>
<div slot="test">
This should work
</div>
</jrg-test>
connectedCallback() {
console.log("Ok we are working")
this.shadowRoot.innerHTML = "<slot name='test'></slot>"
const element = document.createElement('style');
element.textContent = "::slotted(*){background-color:red;color:white;}";
this.shadowRoot.appendChild(element);
}
所以基本上如果我在自定义元素呈现之前停下来,我会看到原始 div。我知道有一些涉及定位和 CSS 的 hacky 解决方案,但是否有更清洁的解决方案。可能是我可以专门在 JS 中实现的一个?
所以主要问题是如何在应用红色背景和白色之前隐藏This should work 文本?
【问题讨论】:
-
你试过在 div 上应用 css inline 吗?
标签: javascript html shadow-dom