CSS变量(Custom Properties)是现代CSS的重要特性。这篇文章介绍CSS变量的用法和实际应用场景。
定义变量:--primary-color: #1890ff; 使用变量:color: var(--primary-color);
变量有作用域,定义在:root里是全局变量,定义在某个选择器里只在该选择器内有效。
用JavaScript修改变量值,整个页面样式会实时更新。这是实现主题切换最优雅的方式。
document.documentElement.style.setProperty('--primary-color', '#ff4d4f');
主题切换。白天/黑夜模式,通过修改变量实现,不用写两套CSS。
响应式布局。不同屏幕尺寸修改变量值,比如间距、字体大小。
组件库开发。把颜色、间距定义为变量,用户可以轻松定制主题。
Sass、Less的变量是编译时确定,CSS变量是运行时确定。CSS变量可以动态修改,这是最大优势。
但CSS变量没有计算功能,复杂逻辑还是要用预处理器。两者结合使用效果最好。
CSS变量浏览器支持很好,可以放心在生产环境使用。