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就可能造成问题。

相关推荐
是你的小橘呀3 分钟前
深入解析 JavaScript 引擎与作用域机制
前端·javascript
huangql52018 分钟前
前端身份识别与灰度发布完整指南
前端
JackieDYH29 分钟前
CSS实现跑马灯效果-案例
前端·css·css3
羽沢3131 分钟前
Vue3组件间通信——pinia
前端·javascript·vue.js
BBB努力学习程序设计34 分钟前
简易横向导航制作指南
前端·html
BBB努力学习程序设计34 分钟前
深入理解CSS定位叠放次序:z-index完全指南
前端·html
头疼84635 分钟前
vue 组件实现 、background-hover随鼠标丝滑移动~
前端
焦糖小布丁1 小时前
加http和https访问的网站不同?
前端
人工智能的苟富贵1 小时前
用 Rust 写一个前端项目辅助工具:JSON 格式化器
前端·rust·json
季春二九2 小时前
Edge 卸载工具 | 版本号1.0 | 专为彻底卸载Microsoft Edge设计
前端·microsoft·edge·edge 卸载工具