- 说明
- .使用全局变量或内联变量
- .变量以双--号开始,如--main-color
- .通常配合calc()函数一起运算
-
var(custom-property-name[, value])
- .custom-property-name:必需。自定义属性的名称,必需以 -- 开头
- .value:可选。备用值,在属性不存在的时候使用
- 使用全局CSS变量
- .如果变量定义在根选择器:root,则所有元素都可以使用-全局变量
- .如果变量定义在某个选择器,则只有该选择器选中的元素和它的所有后代元素使用-局部变量
- [] 定义并使用告警颜色
-
:root {
--txt-wran-color: #c81623;
}
.wrap{
--el-color: #890;
}
.warn {
color: var(--txt-wran-color);
}
- 使用内联CSS变量
- .利用style在元素上定义,仅供当前元素使用-内联变量
- [] 渐变背景
-
0
1
2
3
4
5
6
7
8
9
- [HTML]
-
<div class="fn-var">
<div style="--alpha:0">0</div>
<div style="--alpha:1">1</div>
//...
<div style="--alpha:8">8</div>
<div style="--alpha:9">9</div>
</div>
- [CSS]
-
.fn-var-bg div {
background-color: rgba(255, 44, 00, calc(var(--alpha)*0.1));
}
- []
自适应布局-没有--left就使用48px;当元素left处于hover状态时,定义--left变量为30%
-
.grid {
display: grid;
transition: 300ms;
grid-template-columns: var(--left, 48px) auto;
}
.grid:has(.left:hover) {
--left: 30%;
}
- [] 自定义图形
- .在HTML中利用style属性为元素指定不同的旋转角度,在CSS中使用
- .每个元素旋转120deg
- .可以制作加载,参考实例 animation
-
- [HTML]
-
<div class="fn-var">
<span style="--rot:0"></span>
<span style="--rot:1"></span>
<span style="--rot:2"></span>
</div>
- [CSS]
-
.fn-var-rot span {
position: absolute;
left: 0;
top: 50%;
width: 100%;
height: 4px;
margin: auto;
background: #f40;
transform: translateY(-50%) rotate(calc(var(--rot)*120deg));
}