关键帧(@keyframes)
优质
小牛编辑
123浏览
2023-12-01
@keyframes
Stylus支持@keyframes
规则,当编译的时候转换成@-webkit-keyframes
:
@keyframes pulse
0%
background-color red
opacity 1.0
-webkit-transform scale(1.0) rotate(0deg)
33%
background-color blue
opacity 0.75
-webkit-transform scale(1.1) rotate(-5deg)
67%
background-color green
opacity 0.5
-webkit-transform scale(1.1) rotate(5deg)
100%
background-color red
opacity 1.0
-webkit-transform scale(1.0) rotate(0deg)
生成为:
@-webkit-keyframes pulse {
0% {
background-color: red;
opacity: 1;
-webkit-transform: scale(1) rotate(0deg);
}
33% {
background-color: blue;
opacity: 0.75;
-webkit-transform: scale(1.1) rotate(-5deg);
}
67% {
background-color: green;
opacity: 0.5;
-webkit-transform: scale(1.1) rotate(5deg);
}
100% {
background-color: red;
opacity: 1;
-webkit-transform: scale(1) rotate(0deg);
}
}
扩展
使用@keyframes
,通过vendors
变量,会自动添加私有前缀(webkit moz official
)。这意味着你可以子啊任意时候立即高效地做修改。
考虑下面的例子:
@keyframes foo {
from {
color: black
}
to {
color: white
}
}
扩增两个默认前缀,官方解析:
@-moz-keyframes foo {
0% {
color: #000;
}
100% {
color: #fff;
}
}
@-webkit-keyframes foo {
0% {
color: #000;
}
100% {
color: #fff;
}
}
@keyframes foo {
0% {
color: #000;
}
100% {
color: #fff;
}
}
如果我们只想有标准解析,很简单,修改vendors
:
vendors = official
@keyframes foo {
from {
color: black
}
to {
color: white
}
}
生成为:
@keyframes foo {
0% {
color: #000;
}
100% {
color: #fff;
}
}