Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/407.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 自定义元素-在渲染之前隐藏元素_Javascript_Html_Css - Fatal编程技术网

Javascript 自定义元素-在渲染之前隐藏元素

Javascript 自定义元素-在渲染之前隐藏元素,javascript,html,css,Javascript,Html,Css,使用自定义元素,是否可以在渲染之前将元素的显示设置为“无”(或以任何其他方式)?考虑到我将这个特殊的元素用作其他元素的基类,因此应用全局样式是不起作用的。 元素很简单 而且也没什么作用:) MyElement类扩展了HtmleElement{} 自定义元素。定义('my-element',MyElement); 但其他很多人都在扩展它 类MyOtherElement扩展了MyElement{} 自定义元素。定义('my-other-element',MyOtherElement);

使用自定义元素,是否可以在渲染之前将元素的显示设置为“无”(或以任何其他方式)?考虑到我将这个特殊的元素用作其他元素的基类,因此应用全局样式是不起作用的。 元素很简单


而且也没什么作用:)

MyElement类扩展了HtmleElement{}
自定义元素。定义('my-element',MyElement);
但其他很多人都在扩展它


类MyOtherElement扩展了MyElement{}
自定义元素。定义('my-other-element',MyOtherElement);
这就是为什么我不能有一个全局css规则

我的元素{
显示:无;
}
我认为我很聪明,添加了一个带有
:host
样式的阴影dom,但这只会使我在元素中放置的任何其他HTML消失

有什么想法吗?

通过伪类,它是Web组件规范的一部分,您可以在成功定义自定义元素时应用样式

my-element {
  display: none;
}

my-element:defined {
  display: block;
}

不幸的是,我的扩展元素不会继承这些样式。除非我错了,但我的测试表明不是,这真的很糟糕!这是正确的,这些样式不会被继承,因为CSS不是那样工作的。您可以在每个需要此行为的自定义元素上设置一个类,也可以单独设置每个自定义元素的样式。:/sadface。Ok坦克