我试图在阴影dom中设置文本样式而没有成功.唯一的问题是我想从影子DOM之外做这件事.另一个重要的事情,Shadow dom样式应该只适用于'bar'元素内的阴影dom.这是我的测试代码:
还有一个奖金问题,究竟是什么
:host(bar:host) { ... }
做什么?
shadow DOM规范目前仍处于开发阶段,其大部分功能从一个时刻到下一个时刻发生了根本性的变化.
要从外部设置阴影DOM元素的样式,取决于您的浏览器是依赖于(过时的)peusdo元素曝光还是新的css阴影dom选择器^^
(cat)和^
(hat)如果浏览器支持新语法,您可以简单地使用hat(^
)选择器输入元素shadow dom ,或者如果要跨越所有阴影边界,可以使用cat(^^
)选择器执行此操作.
如果浏览器还不支持它,你需要通过向它添加伪属性,将你想要样式化的元素作为其父元素的伪元素公开<shadow-element peusdo="myname" />
,然后在你的css中引用那个伪元素shadow-host::myname
至于你的'奖励'问题,你引用了影子主机元素,但是只有当影子主机是一个<bar>
元素时,如果省略第二个,:host
你引用的影子主机是一个<bar>
元素或者有一个作为它的祖先.
请注意,由于API处于不断发展阶段,因此上述信息可能在一个多月左右的时间内仍然不可靠.