在Vue里直接在 <style lang="scss" scoped> .... </style> 中编写样式的话只会影响当前组件内的样式,
但如果去掉scoped话又会影响全局样式,这时候需要使用深度作用选择器
推荐使用
::v-deep:deep()
-
>>>style为css时使用像 Sass 之类的预处理器无法正确解析 >>>。这种情况下你可以使用 /deep/ 或 ::v-deep 操作符取而代之——两者都是 >>> 的别名,同样可以正常工作。
<style lang="css" scoped> .a >>> .b { /* ... */ } </style> -
/deep/style使用预处理器时使用,Vue3不可用在vue-cli3编译时,
/deep/的方式会报错或者警告<style lang="scss" scoped> .a{ /deep/ .b { /* ... */ } } </style> -
::v-deep当我们需要覆盖element-ui中的样式时只能通过深度作用选择器
<style lang="scss" scoped> .a{ ::v-deep .b { /* ... */ } } </style> -
:deep()Vue3 新增的深度作用选择器,将会替代以上旧的选择器