解决scss中使用/deep/深度选择器报错

需求 : 在带有 scoped 属性的 style 中书写样式时,无法作用影响到子组件中的样式,此时我们会使用到 deep 深度选择器,来解决此问题,我们在使用 less 预处理器,能正常使用,但是在 scss 预处理器中会报错。

错误代码:

<style lang="scss" scoped>
     /* 这种写法就会报错 */
     /* 原因:>>>是深度选择器,可以作用到子组件中的样式,/deep/和::v-deep都是>>>的别名,在scss中不识别/deep/,因此报错*/
    /deep/ .el-menu .el-menu-item {
      background-color: #000!important;
    }
</style>

解决方案:

/* 采用:;v-deep就可以解决上述问题 */
<style lang="scss" scoped>
::v-deep .el-menu .el-menu-item {
 background-color: #000!important;
}
</style>

总结
vue 中,>>> 是深度选择器,可以作用到子组件中的样式,/deep/::v-deep 都是 >>> 的别名,在 scss 中不识别 /deep/, 可以使用 ::v-deep

————————————————
版权声明:本文为CSDN博主「小李在进阶」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_44900104/article/details/126164236

评论区
头像