通过CSS变量修改样式的方法示例

这篇文章主要介绍了通过CSS变量修改样式的方法示例的相关资料,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧

问题

js怎么去修改css伪类样式呢?但是js并没有伪类选择器,那么该怎么办呢?网上有不少方法,比如通过切换元素的类、在style中动态插入新的样式等。

那么这里再来一种方法,设置css变量(var),通过js去改变这个变量来实现。

示例:改变div的hover背景色

 

那么,来认识下css variable吧

1. 基本用法

局部变量

 div { --masterColor: red; background: var(--masterColor); } 

全局变量

 /* 对于HTML来说,:root 表示  元素 */ :root { --masterColor: red; } div { background: var(--masterColor); } 

2. 语法

var( [, ]? )

: 自定义属性名

: 声明值(fallback value)

示例:

 div { /* --masterColor未定义,所以背景色使用red 它可以通过逗号分隔,定义多个声明值,var(--masterColor, red, green) */ background: var(--masterColor, red); } 

变量可以通过var()进行引用

示例:

 div { --masterColor: red; --bgColor: var(--masterColor) } 

注意:属性名是不能使用变量的

错误示例:

 div { --bg: background; var(--bg): red; } 

3. 浏览器支持

Can I use 

使用@support检测

 @supports ( (--masterColor: red)) { /* supported */ } @supports ( not (--masterColor: red)) { /* not supported */ } 

使用JS检测

 const isSupported = window.CSS && window.CSS.supports && window.CSS.supports('--masterColor', 'red'); if (isSupported) { /* supported */ } else { /* not supported */ }

参考

MDN
CSS Variable 规范

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持0133技术站。

以上就是通过CSS变量修改样式的方法示例的详细内容,更多请关注0133技术站其它相关文章!

赞(0) 打赏
未经允许不得转载:0133技术站首页 » CSS 教程