全局变量:在:root伪类上定义自定义属性,可以在 HTML 文档中全局应用它
局部变量:在选择器中定义的变量 或 在标签中定义的变量
p {
--color: red;
}
span {
--color: green;
}
.p-elem {
color: var(--color);
}
.span-elem {
color: var(--color);
}
<div class="item" style="--a: red">1<span>11111</span></div>
<div class="item" style="--a: pink">2</div>
<div class="item" style="--a: blue">3</div>
.item {
color: var(--a);
}
.item span{
color: #fff;
background-color: var(--a);
}
变量类型:
如果变量值是一个字符串,可以与其他字符串拼接
:root {
--content: 'hello';
}
.container-box::after {
content: var(--content) 'world';
}
如果变量值是数值,不能与数值单位直接连用。必须使用calc()函数,将它们连接
:root {
--num: 20;
}
.container-box::after {
font-size: calc(var(--num) * 1px);
}
如果变量值带有单位,就不能写成字符串。
:root {
/* --str: '20px'; */
--str: 20px;
}
.container-box::after {
font-size: var(--str);
}