Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/33.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_Css_Web Component_Shadow Dom - Fatal编程技术网

Javascript 了解:主机上下文的基础知识

Javascript 了解:主机上下文的基础知识,javascript,css,web-component,shadow-dom,Javascript,Css,Web Component,Shadow Dom,我真的很迷恋:主机上下文:( 我看了一些视频,阅读了MDN页面,并尝试用VSCode来理解 从我的尝试中,我所理解的(可能是错误的)是,通过:主机上下文,我可以访问阴影DOM和常规、轻型DOM之间的“DOM层”,并对其进行样式设置 有人能像我5岁一样向我解释一下:主机上下文吗?我的理解是:主机上下文类似于:主机,只是你可以给它传递一个选择器,并且它只会在阴影主机与光DOM中的选择器匹配的情况下匹配。所以假设你有一个自定义元素My element。你想设置t的样式吗他的div背景颜色:红色,但仅当

我真的很迷恋
:主机上下文
:(

我看了一些视频,阅读了MDN页面,并尝试用VSCode来理解

从我的尝试中,我所理解的(可能是错误的)是,通过
:主机上下文
,我可以访问阴影DOM和常规、轻型DOM之间的“DOM层”,并对其进行样式设置


有人能像我5岁一样向我解释一下
:主机上下文
吗?

我的理解是
:主机上下文
类似于
:主机
,只是你可以给它传递一个选择器,并且它只会在阴影主机与光DOM中的选择器匹配的情况下匹配。所以假设你有一个自定义元素My element。你想设置t的样式吗他的div背景颜色:红色,但仅当
my元素
在H1中时,因为它不应该出现在H1中,而红色是开发人员犯错误的明确标志

您可以这样做:

:主机上下文(h1){背景色:红色}
只有当我的元素是h1的后代时,红色背景才会出现


我的理解是,
:host context
:host
类似,只是您可以向它传递一个选择器,并且只有阴影主机在灯光DOM中与该选择器匹配时,它才会匹配。因此,假设您有一个自定义元素My element。您希望设置此div背景颜色的样式:红色,但仅当
My element
为在H1中,因为它不应该出现在H1中,而红色对于开发人员来说是一个明确的信号,表明他们犯了错误

您可以这样做:

:主机上下文(h1){背景色:红色}
只有当我的元素是h1的后代时,红色背景才会出现



仅供参考,AFAIK Mozilla和Apple不会实现主机上下文,因此它是一个仅限Chromium的聚会。请搜索
:slotted
,查看有关阴影和灯光样式的帖子DOM@Danny“365CSI”Engelman是的,我喜欢web组件和影子DOM的想法,但我不会在生产中使用它们,我已经不再将它们用于我的个人nal项目也是如此。摩擦太多。是的,谷歌很长一段时间以来一直试图用V0版本将他们的想法强加给世界。但从2018年起,有了V1 Web组件,苹果、Mozilla、谷歌和微软之间的合作就更好了。V1是可靠的,唉,许多博客仍然列出了V0的想法……它们应该被烧掉。然后你会发现曾经发现过
主机上下文
FYI,AFAIK Mozilla和Apple不会实现
主机上下文
,因此它是一个仅限Chromium的聚会。搜索
:slotted
,查看有关阴影和灯光样式的帖子DOM@Danny“365CSI”Engelman是的,我喜欢web组件和影子DOM的想法,但我不会在生产中使用它们,我已经搬家了我也不想把它们用于我的个人项目。太多的摩擦。是的,谷歌很长一段时间都试图用V0版本将他们的想法强加给世界。但从2018年起,有了V1 Web组件,苹果、Mozilla、谷歌和微软之间的合作就更好了。V1是可靠的,唉,很多博客仍然列出了V0的想法……他们应该d被烧掉。那么你就永远找不到主机上下文了