本帖分享歌曲:步履不停 - 陈鸿宇
见多才能识广,如果在vue的项目中有看到 >>>或/deep/或::v-deep,千万不要大惊小怪,那只是因为你孤陋寡闻而已,问主管,他也只会在心里暗自嘀咕你太无知了,哈哈哈哈。
其实vue的官网文档中也有过介绍,你不知道只能怪自己懒惰!!!
官网链接:vue-loader.vuejs.org/zh/guide/sc…
深度作用选择器:
如果你希望 scoped
样式中的一个选择器能够作用得“更深”,例如影响子组件,你可以使用 >>>
操作符:
<style scoped>
.a >>> .b { /* ... */ }
</style>
复制代码
上述代码将会编译成:
.a[data-v-f3f3eg9] .b { /* ... */ }
复制代码
有些像 Sass 之类的预处理器无法正确解析 >>>
。这种情况下你可以使用 /deep/
或 ::v-deep
操作符取而代之——两者都是 >>>
的别名,同样可以正常工作。
总结使用场景:
当我们需要覆盖element-ui中的样式时只能通过深度作用选择器
style为css时的写法如下:
.a >>> .b {
***
}
style使用css的预处理器(less, sass, scss)的写法如下:
第一种/deep/
/deep/ .a {
***
}
第二种::v-deep
::v-deep .a{
***
}
建议使用第二种方式,/deep/在某些时候会报错,::v-deep更保险并且编译速度更快。
以上使用场景来自于脚本之家的同类文章的作者柳慕笙,感谢。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。