我一直在阅读这个选择器,并得到相互矛盾的答案。
在: /deep/ 和 ::shadow 在 CSS 选择器中是什么意思?
我们看:
正如 Joel H. 在评论中指出的那样,Chrome 已经弃用了 /deep/ 组合器,并且它在 IE 中给出了语法错误。
在: https ://github.com/Microsoft/vscode/issues/7002
我们看:
/deep/ 不再存在,所以我认为我们不应该支持它。 >>> 是新版本,应该会支持
但是,在 Angular 2 文档中: https ://angular.io/docs/ts/latest/guide/component-styles.html
我们看:
/deep/ 选择器也有别名 >>>。我们可以互换使用两者中的任何一个。
显然,相信 Angular 2 文档是明智的,但由于所有这些相互矛盾的信息,我有点犹豫。
事实上,在最新版本的 Microsoft Visual Studio Code 中, /deep/
和 >>>
产生错误,尽管尽管有错误,它们都可以工作。
我的问题是双重的:
/deep/ 会留下来吗?我们是否有任何来源、引用或任何规范中的任何内容表明它将被采用?或者如果它已被正式弃用?
我们可以在不完全禁用语法检查的情况下抑制 Visual Studio Code 中的这个错误吗?
原文由 Kevin 发布,翻译遵循 CC BY-SA 4.0 许可协议
/deep/
语法已过时,最后一次出现 在 2014 年 的 css-scoping 中,它的替代品>>>
大约半年前在 Chrome 45 中被弃用。贯穿阴影的后代组合器的整个概念 将完全从 Shadow DOM 中移除。实现可以完全删除它,也可以将其别名为常规的后代组合器(这取决于将来如何实现 Shadow DOM 可能有意义,也可能没有意义)。
不幸的是没有。
出于兼容性目的,Angular 允许在模拟视图封装中使用这两种方法,但强烈建议作者继续使用
>>>
,因为/deep/
现在在技术上无效,因此在本机视图封装中不受支持。