一尘不染

在Angular 2中使用/ deep /和>>>

css

我一直在阅读此选择器,并得到相互矛盾的答案。

在:/ deep /和::shadow在CSS选择器中是什么意思?

我们看:

正如Joel H.在评论中指出的那样,Chrome自此之后就弃用了/ deep /组合器,并在IE中给出了语法错误。

我们看:

/ deep /不再存在,所以我认为我们不应该支持它。>>>是新版本,可能应该支持

我们看:

/ deep /选择器还具有别名>>>。我们可以互换使用两者之一。

显然,信任Angular 2文档是明智的,但是由于所有这些相互矛盾的信息,我有点犹豫。

实际上,在最新版本的Microsoft Visual Studio Code中,两者/deep/>>>创建错误,尽管尽管有错误,但它们都可以工作。

我的问题是双重的:

  1. / deep /在这里停留吗?我们是否有任何来源,报价单或任何说明可以采用的规范中的任何内容?还是已正式弃用?

  2. 我们是否可以在不完全禁用语法检查的情况下抑制Visual Studio Code中的此错误?


阅读 924

收藏
2020-05-16

共1个答案

一尘不染

  1. / deep /在这里停留吗?我们是否有任何来源,报价单或任何说明可以采用的规范中的任何内容?还是已正式弃用?

/deep/语法已过时,最后一次出现在2014年的css-scoping
中,并且>>>大约半年前在Chrome 45中已弃用该语法。

计划将穿透阴影的后代组合器的整个概念完全从ShadowDOM中删除。实现可以完全将其删除,也可以将其别名为常规后代组合器(这取决于将来对ShadowDOM的实现方式可能有意义,也可能没有意义)。

  1. 我们是否可以在不完全禁用语法检查的情况下抑制Visual Studio Code中的此错误?

不幸的是没有。

出于兼容性考虑,Angular允许在仿真视图封装中使用这两种方法,但是强烈建议作者继续使用>>>,因为从/deep/技术上来说,该功能现在无效,因此本机视图封装不支持该功能。

2020-05-16