css中的三倍大于选择器是啥?

Posted

技术标签:

【中文标题】css中的三倍大于选择器是啥?【英文标题】:What is a triple greater than selector in css?css中的三倍大于选择器是什么? 【发布时间】:2019-09-12 01:01:19 【问题描述】:

我看到下面的 CSS 代码看起来比选择器大三倍。

.b-table >>> .table-wrapper 
  overflow-x: auto; 

我知道它引用了 Buefy 表格组件并将特定样式应用于具有 table-wrapper 类的元素,但 >>>operator 究竟是什么意思?基于this answer 我想这可能是为了将样式应用于孩子的孩子的孩子,这准确吗?如果是这样,为什么它似乎不适用于其他数量的>

【问题讨论】:

这不是有效的 CSS。你在使用预处理器吗? 有趣。我认为代码库正在使用 Sass 和 PostCSS。 您使用的是旧版本的 Angular 吗?如果是这样,它已被弃用,相当于 ::ng-deep @Chris W. 不,它正在使用 Vue。 Vue uses it also. 【参考方案1】:

>>> 运算符是 Vue.js 的特定功能,称为 deep selector。在作用域 CSS 中,您不能将 CSS 应用于没有深度选择器的子组件。

作为你的例子,这两个选择器不会被应用。

<style scoped>
.table-wrapper 
  overflow-x: auto !important;  /* won't work */

.b-table .table-wrapper 
  overflow-x: auto !important;   /* won't work */

</style>

它需要深度选择器。

<style scoped>
.b-table >>> .table-wrapper 
  overflow-x: auto; 

</style>

【讨论】:

【参考方案2】:

它是穿透阴影的后代组合器。在 Angular 中,&gt;&gt;&gt;/deep/::ng-deep 是相同的(来源:https://angular.io/guide/component-styles#deprecated-deep--and-ng-deep)。它已被弃用,并且已从主要浏览器中删除支持。例如,从 Chrome 版本 63 开始,它已在 2017 年 12 月 5 日左右被删除(来源:https://www.chromestatus.com/feature/6750456638341120)

【讨论】:

以上是关于css中的三倍大于选择器是啥?的主要内容,如果未能解决你的问题,请参考以下文章

“+”(加号)CSS 选择器是啥意思?

“~”(波浪线/波浪线/旋转)CSS 选择器是啥意思?

class="c1 c2" 的 css 选择器是啥 [重复]

css @选择器的目的是啥? [复制]

css选择器执行的顺序是啥样的?

css三种选择器的特点