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

相关推荐
雾恋1 小时前
最近一年的感悟
前端·javascript·程序员
华仔啊1 小时前
Vue3 的 ref 和 reactive 到底用哪个?90% 的开发者都选错了
javascript·vue.js
A黄俊辉A2 小时前
axios+ts封装
开发语言·前端·javascript
小李小李不讲道理2 小时前
「Ant Design 组件库探索」四:Input组件
前端·javascript·react.js
连合机器人2 小时前
晨曦中的守望者:当科技为景区赋予温度
java·前端·科技
郑板桥303 小时前
tua-body-scroll-lock踩坑记录
前端·javascript
BillKu3 小时前
vue3 样式 css、less、scss、sass 的说明
css·less·sass·scss
IT古董3 小时前
Vue + Vite + Element UI 实现动态主题切换:基于 :root + SCSS 变量的最佳实践
vue.js·ui·scss
慢半拍iii4 小时前
JAVA Web —— A / 网页开发基础
前端
gnip4 小时前
pnpm 的 monorepo架构多包管理
前端·javascript