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

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.lqws.cn/news/73747.html

相关文章:

  • 【Python序列化】TypeError: Object of type xxx is not JSON serializable问题的解决方案
  • Java引用类型
  • BayesFlow:基于神经网络的摊销贝叶斯推断框架
  • rabbitmq Topic交换机简介
  • 「Python教案」字符串格式化操作
  • 微服务-Sentinel
  • Windows环境下Scoop包管理工具的全面指南
  • 60、Polly瞬态故障处理
  • uni-id-pages login-by-google实现
  • 网络安全:网页密码防护与记住密码功能的安全
  • ubuntu24.04 查看时区并设置Asia/Shanghai时区
  • 基于GPT-SoVITS-v4-TTS的音频文本推理,流式生成
  • 设计模式——中介者设计模式(行为型)
  • MDP的curriculums部分
  • LeetCode 高频 SQL 50 题(基础版) 之 【高级查询和连接】· 上
  • 【C语言】C语言经典小游戏:贪吃蛇(上)
  • StarRocks的几种表模型
  • 在 Windows安装 make 的几种方式
  • 结构型设计模式之桥接模式
  • Python基础:人生重开模拟器(小游戏)
  • 二叉查找树 —— 最近公共祖先问题解析(Leetcode 235)
  • SCAU8642--快速排序
  • 计算机视觉---深度学习框架(Backbone、Neck、Head)
  • 每日算法-250602
  • Windows+VSCode搭建小智(xiaozhi)开发环境
  • 开源的JT1078转GB28181服务器
  • PDF 转 HTML5 —— HTML5 填充图形不支持 Even-Odd 奇偶规则?(第一部分)
  • 【Spring】RAG 知识库基础
  • Axure 基础入门
  • 50天50个小项目 (Vue3 + Tailwindcss V4) ✨ | Form Wave(表单label波动效果)