试图使用CSS3动画在50px的半径范围内连续制作圆轨道:
<!DOCTYPE html>
<html>
<head>
<style>
div {
width: 10px;
height: 10px;
background-color: black;
position: absolute;
-webkit-animation-name: example;
-webkit-animation-duration: 3s;
animation:example 1s infinite linear;
border-radius:50px;
transform-origin:bottom left;
left:50%;
top:50px;
}
@-webkit-keyframes example {
0% {transform:rotate(0deg) translateX(50px);}
100% {transform:rotate(360deg) translateX(50px);}
}
</style>
</head>
<body>
<div></div>
</body>
</html>
当我在0%关键帧中包含旋转(0deg)到我的变换时,圆圈只会旋转 . 为什么是这样?没有旋转(0deg):
<!DOCTYPE html>
<html>
<head>
<style>
div {
width: 10px;
height: 10px;
background-color: black;
position: absolute;
-webkit-animation-name: example; /* Chrome, Safari, Opera */
-webkit-animation-duration: 3s; /* Chrome, Safari, Opera */
animation:example 1s infinite linear;
border-radius:50px;
transform-origin:bottom left;
left:50%;
top:50px;
}
/* Chrome, Safari, Opera */
@-webkit-keyframes example {
0% {transform: translateX(50px);}
100% {transform:rotate(360deg) translateX(50px);}
}
</style>
</head>
<body>
<div></div>
</body>
</html>
2 回答
关键帧用于定义哪些参数正在变化以及从哪个值变为值 . 如果没有定义某些东西,则不会假定它为0但假定不是序列的一部分 . 同时,一些浏览器可能会以不同的方式对待它 .
应始终定义'from'或'0%'值,否则用户代理将处理它而不是必须将其设置为零 .
来源:https://www.w3.org/TR/css3-animations/