scss下解决父组件中使用::v-deep修改样式穿透到子组件的问题

开发中经常会用到深度选择器来修改第三方组件库等子组件的样式,这时候就用到样式穿透(style Penetration)

样式穿透的方式有:>>>、 /deep/、::v-deep这三种

使用中发现了一个问题,就是当在父组件使用了v-deep修改自身组件或者第三方组件样式时,会影响到子组件中的样式,

第一种方式:

使用>>>修改无效,原因是scss等预处理器却无法解析>>>

第二种:

而使用/deep/修改时报SassError: expected selector. 原因是sass不支持这个选择器。

第三种,使用::v-deep,

使用方式:要修改的元素外层套一层box,修改样式时加在选择器前,这样就可以将要修改的的元素限制在当前文件,如下,需要修改class为v-tabs__nav的元素时:

javascript 复制代码
 .tabs-wrap ::v-deep.v-tabs__nav{
   background-color: transparent !important;
 }
相关推荐
万物得其道者成2 分钟前
前端大整数精度丢失:一次踩坑后的实战解决方案(`json-bigint`)
前端·json
鹏北海33 分钟前
移动端 H5 响应式字体适配方案完全指南
前端
柳杉2 小时前
使用AI从零打造炫酷医疗数据可视化大屏,源码免费拿!
前端·javascript·数据可视化
凌云拓界2 小时前
前端开发的“平衡木”:在取舍之间找到最优解
前端·性能优化·架构·前端框架·代码规范·设计规范
zhengfei6113 小时前
【XSS payload 】一个经典的XSS payload
前端·xss
全栈老石4 小时前
手写一个无限画布 #1:坐标系的谎言
前端·canvas
XW01059994 小时前
4-11判断素数
前端·python·算法·素数
J2虾虾4 小时前
Spring Boot中使用@Scheduled做定时任务
java·前端·spring boot
Heo4 小时前
深入React19任务调度器Scheduler
前端·javascript·面试
一枚前端小姐姐5 小时前
Vue3 + Pinia 状态管理,从入门到模块化
前端·vue.js