直接调用 document.documentElement.style.setProperty('--color-primary', '#3b82f6') 即可修改 CSS 变量,前提是变量定义在 :root 或对应元素上;注意语法合法、作用域匹配、DOM 已挂载、前缀双短横线,且 IE 不支持。如何用 setProperty 修改 CSS 变量直接改 document.documentElement.style.setProperty('--color-primary', '#3b82f6') 就行,前提是变量定义在 :root 或目标元素上。CSS 变量本质是自定义属性,JS 通过 style.setProperty 操作的就是这层"属性",不是真实 CSS 规则。常见错误是写成 element.style.--color-primary = 'red' ------ 这语法非法,浏览器直接报 Invalid left-hand side in assignment;也有人试图用 cssText 覆盖整个 style 字符串,结果把其他内联样式全清掉了。只对已挂载到 DOM 的元素生效(document.body 未 append 前调用会静默失败)变量名必须带两个短横线前缀,比如 --spacing-md,不能漏掉或写成单横线如果变量在某个组件元素上定义(如 .card { --bg: white; }),就得调用 cardEl.style.setProperty('--bg', 'black'),不能只动 :root为什么 setProperty 不触发重排但可能触发重绘CSS 变量本身不直接控制布局,所以改它通常不会导致 layout(重排),但会影响 paint(重绘)------ 比如改了 --text-color,浏览器得重新绘制文字;改了 --box-shadow,得重绘阴影区域。性能敏感场景下,频繁调用 setProperty 改同一个变量(比如滚动中实时更新 --scroll-y),仍可能造成掉帧。这不是方法的问题,而是浏览器要不断计算依赖该变量的样式结果。立即学习"前端免费学习笔记(深入)"; ARTi.PiCS ARTi.PiCS是一款由AI驱动的虚拟头像生产器,可以生成200多个不同风格的酷炫虚拟头像
相关推荐
决战灬2 分钟前
langgraph之interrupt(事例篇)X-⃢_⃢-X10 分钟前
十、Redis之布隆过滤器IPdodo_12 分钟前
Codex 总是 Reconnecting?从 401 到响应流中断的排查方法Nturmoils13 分钟前
订单号查出了三笔,我以为是数据脏了,其实是自己写错了ZKNOW甄知科技17 分钟前
燕千云深度集成飞书:以AI之力,开启无感IT运维体验京和动物医院·总院21 分钟前
2026年未央区宠物医院:如何挑选最适合您爱宠的健康守护者刘小八23 分钟前
RAG 文档切分不是越细越好:选择 Chunk Size 与 Overlap互联网中的一颗神经元26 分钟前
小白python入门 - 23. Python 正则表达式的应用雪碧透心凉_27 分钟前
while 循环与循环嵌套TDengine (老段)32 分钟前
TDengine 免费版说明