我有一张脸的图像。我想旋转/旋转它左右。向右20度,向左20度。
到目前为止,这是我的代码:
<img class="image">
CSS
.image {
-webkit-animation:spin 1.8s linear infinite;
}
@-webkit-keyframes spin {
from { -webkit-transform: rotate(0deg); }
to { -webkit-transform: rotate(20deg); }
}
我可以通过一种方式让它移动,但是如何让它以另一种方式返回呢?
我认为它应该是这样的:从 0度旋转到 20度从 20度旋转到 -20度。我尝试过,但它没有用。
答案 0 :(得分:1)
您无法在动画中使用from
和to
来实现它,但您可以使用如下所示的百分比选项:
@-webkit-keyframes spin {
0% {
-webkit-transform: rotate(0deg);
}
50% {
-webkit-transform: rotate(20deg);
}
100% {
-webkit-transform: rotate(-20deg);
}
}
<强>解释强>
-webkit-animation
属性值中将动画持续时间增加到3.6s(如下所示)最后)。 注意:我假设你知道使用-webkit-
前缀,动画效果只能在webkit驱动的浏览器中看到。对于Firefox,您必须为动画,关键帧和转换属性添加-moz-
,并且为了将来的合规性,您还必须添加标准的无前缀版本。
.image {
-webkit-animation:spin 3.6s linear infinite;
}
样本2 - 旋转效果更平滑
@-webkit-keyframes spin {
0% {
-webkit-transform: rotate(0deg);
}
25% { /* note that rotation from 0 to 20 deg happens in 25% time = 0.45 seconds. */
-webkit-transform: rotate(20deg);
}
50% {
-webkit-transform: rotate(0deg);
}
75% {
-webkit-transform: rotate(-20deg);
}
100% {
-webkit-transform: rotate(0deg);
}
}