当前位置: 首页 > web >正文

css使用scoped之后样式失效问题

项目中的vue代码原本用的style标签来写css,现在想改成<style lang=scss scoped>,但是改完之后发现样式不对:
原来是:在这里插入图片描述
将style改成scoped之后变成了:在这里插入图片描述检查发现是之前定义的一些变量无法被识别,导致这些样式失效了:在这里插入图片描述

原因是我在原来的css中添加了:root的全局样式代码,
在这里插入图片描述

所以问题的原因是:

  • 作用域隔离​​:scoped 属性会为组件添加唯一属性标识(如 data-v-xxxxxx),这会限制 CSS 变量的作用域
  • ​​变量定义位置​​:在 scoped 样式中定义的 CSS 变量默认只在当前组件有效
  • ​​继承链中断​​:CSS 变量通常通过 :root 定义全局变量,但 scoped 样式会破坏这种继承关系

解决方式就是将这部分root的代码在组件外单独定义全局变量:

<style>
/* 全局变量定义(无scoped) */
:root {--shenlan: rgba(53, 86, 90, 1);--zhonglv: rgba(92, 176, 106, 1);--heilan: rgba(71, 85, 105, 1);/* 其他变量... */
}
</style><style lang="scss" scoped>
/* 带作用域的组件样式 */
.xuanzhuti {.button-continue {background-color: var(--zhonglv); /* 现在可以正常使用 */}
}
</style>

通过这种方法,就又成功实现了原先的效果:在这里插入图片描述

http://www.xdnf.cn/news/10646.html

相关文章:

  • Day43打卡(补41+42) @浙大疏锦行
  • Git实战--基于已有分支克隆进行项目开发的完整流程
  • springboot 集成webFilter登录认证信息过滤 DEMO原型介绍
  • 混和效应模型在医学分析中的应用
  • 16.FreeRTOS
  • 学习BI---基本操作---数据集操作
  • HealthBench医疗AI评估基准:技术路径与核心价值深度分析(下)
  • 机器人夹爪的选型与ROS通讯——机器人抓取系统基础系列(六)
  • TomatoSCI数据分析实战:探索社交媒体成瘾
  • 【计算机网络】第3章:传输层—拥塞控制原理
  • php执行后报502,无错误提示的排查和解决
  • 前端面经高阶组件HOC 和 HOOKS Redux
  • 企业展示型网站模板HTML5网站模板下载指南
  • 【具身智能】【机械臂】各类机械臂对比
  • SQL Views(视图)
  • c++类和对象-继承
  • 打家劫舍与最长有效括号:动态规划与字符串处理的双重魅力
  • 也说字母L:柔软的长舌
  • Cursor 0.51 全网首歌新功能深度体验:Generate Memories 让 AI 编程助手拥有“记忆“
  • Docker私有仓库Harbor安装指南
  • SQL进阶之旅 Day 11:复杂JOIN查询优化
  • pytorch学习之矩阵分解
  • 在Linux中配置内网可访问的YUM光盘源
  • Python实例题:自联想器的Python实现
  • 【存储基础】存储设备和服务器的关系和区别
  • UE特效Niagara性能分析
  • 【保姆级教程】PDF批量转图文笔记
  • SystemVerilog—Interface语法(二)
  • 谷粒商城-分布式微服务项目-高级篇[三]
  • 华为云Flexus+DeepSeek征文|华为云 Dify 打造智慧水果分析助手,实现“知识库 + 大模型”精准赋能