CSS如何利用过渡配合CSS变量做出随着鼠标移动位置改变的光晕

张开发
2026/4/12 21:07:21 15 分钟阅读

分享文章

CSS如何利用过渡配合CSS变量做出随着鼠标移动位置改变的光晕
不能原生 transition 不识别 CSS 自定义属性变化需将 --x/--y 驱动 background-position 等可动画属性并用 JS 实时更新变量值配合 radial-gradient 和精确坐标计算实现平滑光晕效果。transition 能不能直接过渡 --x 和 --y 这类 CSS 变量不能原生 transition 不识别自定义属性变化哪怕你用 style.setProperty(--x, newX) 改了值也不会触发过渡动画。真正起作用的是「被变量驱动的、浏览器能感知的可动画属性」比如 transform、background-position、filter: blur()。变量只是中间传值工具过渡必须落在这些真实属性上。常见错误只给 :root 或元素加了 transition: --x 0.2s —— 这行代码完全无效CSS 解析器会静默忽略它。光晕效果该用 radial-gradient 还是 box-shadow优先用 radial-gradient 配合 background控制更精细性能更好box-shadow 多层叠加容易糊、模糊半径难对齐鼠标位置且不支持透明度渐变中心点偏移。立即学习“前端免费学习笔记深入”核心思路是把光晕做成一个大背景图层用 background-position 跟随鼠标移动再靠 background-size 控制扩散范围 通义听悟 阿里云通义听悟是聚焦音视频内容的工作学习AI助手依托大模型帮助用户记录、整理和分析音视频内容体验用大模型做音视频笔记、整理会议记录。

更多文章