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

相关推荐
卤代烃17 分钟前
🦾 可为与不可为:CDP 视角下的 Browser 控制边界
前端·人工智能·浏览器
_XU32 分钟前
AI工具如何重塑我的开发日常
前端·人工智能·深度学习
C_心欲无痕1 小时前
vue3 - defineExpose暴露给父组件属性和方法
前端·javascript·vue.js·vue3
鹿人戛1 小时前
HarmonyOS应用开发:相机预览花屏问题解决案例
android·前端·harmonyos
萌萌哒草头将军1 小时前
绿联云 NAS 安装 AudioDock 详细教程
前端·docker·容器
计算机毕设VX:Fegn08951 小时前
计算机毕业设计|基于springboot + vue宠物医院管理系统(源码+数据库+文档)
数据库·vue.js·spring boot·后端·课程设计
GIS之路2 小时前
GIS 数据转换:使用 GDAL 将 GeoJSON 转换为 Shp 数据
前端
朴shu2 小时前
Luckysheet 远程搜索下拉 控件开发 : 揭秘二开全流程
前端
MediaTea3 小时前
Python:模块 __dict__ 详解
开发语言·前端·数据库·python
字节跳动开源4 小时前
Midscene v1.0 发布 - 视觉驱动,UI 自动化体验跃迁
前端·人工智能·客户端