简介
- 自定义属性,它包含的值可以在整个文档中重复使用。由自定义属性标记设定值,由var() 函数来获取值,
- 自定义属性受级联的约束,并从其父级继承其值。
基本用法
声明一个自定义属性,属性名需要以两个减号(–)开始,属性值则可以是任何有效的CSS值。和其他属性一样,自定义属性也是写在规则集之内的,如下:
el {
--main-color: red;
}
注意,规则集所指定的选择器定义了自定义属性的可见作用域。通常的最佳实践是定义在根伪类 :root下(看项目的根节点是什么,具体情况具体分析),这样就可以在HTML文档的任何地方访问到它了:
:root {
--main-color: red;
}
自定义属性的继承性
自定义属性会继承。这意味着如果在一个给定的元素上,没有为这个自定义属性设置值,在其父元素上的值会被使用。看这一段HTML:
<div class="one">
<div class="two">
<div class="three"></div>
<div class="four"></div>
</div>
</div>
.two {
--test: 10px;
}
.three {
--test: 2em;
}
在这个情况下, var(–test) 的结果分别是:
- 对于元素 class=“two” :10px
- 对于元素 class=“three” :2em
- 对于元素 class=“four” :10px (继承自父属性)
- 对于元素 class=“one” :非法值,会变成自定义属性的默认值
- val(),有两个参数,第一个参数是设置的值(变量),第二个参数的默认的值,定义的变量是区分大小写的