vue.js scss >>> 失效的问题

vue中,使用scss后,样式穿透失效的问题

  如题,vue项目中样式使用scss时,对于需要穿透的样式,使用 >>> 穿透可能会不生效,解决办法也很简单:

将样式由:

css 复制代码
<style lang="scss" scoped>
.a >>> .b {
  font-size: 24px;
}
</style>

修改为:

css 复制代码
<style lang="scss" scoped>
.a /deep/ .b {
  font-size: 24px;
}
</style>

或者:

css 复制代码
<style lang="scss" scoped>
.a ::v-deep .b {
  font-size: 24px;
}
</style>

官方文档中对此也进行了说明:Scoped CSS,或者喜欢英文版的:Scoped CSS 英文版

vue中的template模板中,style中分为全局样式和局部样式,区别是是否存在scoped 属性,当你的组件中的样式中添加了scoped属性,表明你组件中的样式值作用于当前的组件,与其他页面的样式互不相关。

  样式互不影响看似很不错,但是有些时候会存在一些问题,尤其是引用了第三方的ui组件后,需要修改其样式,而又不想去除scoped属性造成组件之间的样式污染,就需要使用到样式穿透,一般情况下使用 >>> 即可。但是在前端工具越来越强大方便的具体,使用一些例如scss或者less就可能造成问题。

相关推荐
是立不是利11 分钟前
大文件导致请求被拒的连锁反应
开发语言·前端·javascript
志尊宝20 分钟前
Vue3 零基础每日笔记(026):emit 子传父——defineEmits 与事件校验
前端·javascript·html·vue3
风骏时光牛马28 分钟前
6个高频实用技术脚本案例,覆盖运维与办公自动化(可直接复用)
前端
爱吃红星柚43 分钟前
【学习】Elpis 抽离与发布 npm 包
前端·前端框架·node.js
PedroQue991 小时前
0.5.0重磅发布:动画插件+H5体验全面优化
前端·uni-app
金虹桥程序员1 小时前
【动画】 📚 CSS 动画与 GPU 合成层优化全链路指南
前端·面试
程序员老赵1 小时前
Docker 部署填鸭表单完整教程:搭建私有化问卷与表单收集平台
前端·docker·开源
无限压榨切图仔2 小时前
向量库能搜到内容,为什么还不算学会 RAG
前端·agent
mmsx2 小时前
MapLibre 实战 11|用户说"我的地块丢了":一个 sealed class 图层模型,和四个让我重构三版的坑
android·前端·开源
xqchen2 小时前
代码差异可视化方案选型:diff2html 实战指南
前端