简介

CSS Variables,一个并不是那么新的东西,但对css来说绝对是一场革命。

之前使用变量的时候,需要借助sass、less等预处理工具来实现,现在我们可以直接使用css来声明变量。

兼容性

老规矩,先来看下兼容性

 
兼容性

兼容性一片绿,红的那不是还有两个吗?做大事怎么能拘小节呢,让它咕噜(gun)一边去吧。

语法

语法有点难看但很简单,--*来声明变量名,var(--*)来使用,也许你要问了,为什么使用--不用$一类的呢,唉,那不是sass、less两个货用了吗

声明和使用必须放在{}代码块里

body{
--bg-color: lightblue;
background-color: var(--bg-color);
}
 
效果

代码是不是很简单,可以直接看效果,就不赘述了。

全局变量与变量覆盖

:root代码块里面声明的变量就是全局变量,并且局部变量会覆盖全局变量

:root{
--bg-color: red;
}
body{
--bg-color: lightblue;
background-color: var(--bg-color);
}

最后生效的是--bg-color: lightbluebg-color变量的值也就变成了lightblue

变量的缺省值

完整的变量使用语法 var( [, ]? ),当变量没有定义的时候,会使用后面的值。看下面的例子

body{
--1: red;
color:var(--2, blue);
}

上面代码会在body的作用域里面查找--2变量,没有的话就会查找全局,都没有的话就会使用后面的值,所以最后生效的颜色就是blue

可以看到,上面我们的变量名直接使用了数字

css自定义属性和简单效果的更多相关文章

  1. 使用CSS实现一个简单的幻灯片效果

    方法一: 简单的CSS代码实现幻灯片效果 方法二: 使用CSS3 Animation来制作幻灯片 方法一: 简单的CSS代码实现幻灯片效果 话不多说,直接上代码 <!DOCTYPE html&g ...

  2. CSS自定义属性 —— 别说你懂CSS相对单位

    前段时间试译了Keith J.Grant的CSS好书<CSS in Depth>,其中的第二章<Working with relative units>,书中对relative ...

  3. 不可思议的纯 CSS 实现鼠标跟随效果

    直接进入正题,鼠标跟随,顾名思义,就是元素会跟随着鼠标的移动而作出相应的运动.大概类似于这样: 通常而言,CSS 负责表现,JavaScript 负责行为.而鼠标跟随这种效果属于行为,要实现通常都需要 ...

  4. 【动画消消乐|CSS】083.纯CSS实现卡通齿轮效果

    前言 Hello!小伙伴! 非常感谢您阅读海轰的文章,倘若文中有错误的地方,欢迎您指出-   自我介绍 ଘ(੭ˊᵕˋ)੭ 昵称:海轰 标签:程序猿|C++选手|学生 简介:因C语言结识编程,随后转入计 ...

  5. css自定义属性(css变量)

    感谢原文作者:Kuku殿下 原文链接:https://segmentfault.com/a/1190000015948538 前言 刚开始的"css变量",经扩展之后,称为&quo ...

  6. 原生JS、CSS实现的转盘效果(目前仅支持webkit)

    这是一个原生JS.CSS实现的转盘效果(题目在这:http://www.cnblogs.com/arfeizhang/p/turntable.html),花了半个小时左右,准备睡觉,所以先贴一段代码, ...

  7. 实用js+css多级树形展开效果导航菜单

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  8. js+css实现带缓冲效果右键弹出菜单

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  9. 如何使用CSS实现小三角形效果

    如何使用CSS实现小三角形效果:建议:尽可能的手写代码,可以有效的提高学习效率和深度.在众多的网页效果中,都有小三角形效果的应用,能够增加特定应用的美观度,下面就给出一段实例代码,里面介绍了两种实现小 ...

随机推荐

  1. R_基本统计分析_06

    summary()提供基础的统计信息 sapply(x,FUN,options)可以指定统计函数 fivenum()可以返回图基五数 Hmisc 中的describe(data)返回变量,观测的变量, ...

  2. border-radius圆角属性

    border-radius圆角 当盒子的宽高一样时,设置盒子的border-radius为50%,得到一个圆形 border-radius: 20px 30px 200px 200px; 只写一个值: ...

  3. mysql 安装与基本管理

    目录 mysql 安装与基本管理 MySQL介绍 下载安装 登录设置密码 破解密码 统一字符编码 mysql参数配置 mysql 常用指令 mysql 安装与基本管理 MySQL介绍 MySQL是一个 ...

  4. WIN7U X64环境下的SQL SERVER 2008R2的防火墙配置

    测试需要,备忘. CMD下运行,可以把sql server 要用的端口都开好. netsh advfirewall firewall add rule name = SQLPort dir = in ...

  5. tomcat7:deploy (default-cli) on project myproject: Cannot invoke Tomcat manager: Software caused connection abort: socket write error

    我使用的默认settings.xml,默认的里面只有tomcat6的服务器,没有tomcat7的服务器,接着往下看,下面来验证我的言论 进行tomcat7:run的命令时

  6. postgressql启动与关闭

    POSTGRESSQL启动和停止数据库可以通过service方式 .POSTGRESSQL的命令行工具进行启动与停止. 1.使有SERVICE方式 启动数据库服务的命令如下·: #service po ...

  7. Android笔记(六十三) android中的动画——逐帧动画( frame-by-frame animation)

    就好像演电影一样,播放实现准备好的图片,来实现动画效果. 逐帧动画需要用到AnimationDrawable类,该类主要用于创建一个逐帧动画,然后我们把这个动画设置为view的背景即可. androi ...

  8. AxureRP分页签 / Tab选项卡切换功能~

    最终结果图如下: 实现过程: 1.从元件库中拖一个动态面板,调整所需大小,接下来的步骤都通过双击动态面板来完成. 2.双击动态面板,弹出框“面板状态管理”,新建状态并命名.此处新建了TAB1.TAB2 ...

  9. array_pop

    array_pop() 函数删除数组中的最后一个元素,返回数组的最后一个值.如果数组是空的,或者非数组,将返回 NULL. <?php$a=["red","gree ...

  10. [S32K144]多通道ADC使用

    1. 基本特性 问:多通道是否可以采用continuous模式,然后定时器中断读取:或者直接ADC连续采样,ADC中断赋值Buffer,然后采样处理线程负责使用,因为中断可以保证值最新? 答:从手册下 ...