html5怎么旋转动画_HTML5 CSS3旋转动画关键帧实现

使用CSS3的@keyframes定义旋转动画并绑定到元素,通过animation属性设置时长、速度和循环次数,即可实现无需JavaScript的网页元素旋转效果。

想让元素在网页中旋转起来,HTML5结合CSS3的关键帧动画(@keyframes)是最常用的方法。不需要JavaScript也能实现流畅的旋转效果,下面直接讲清楚怎么写。

用@keyframes定义旋转动画

通过@keyframes规则可以定义动画每一阶段的状态。比如让一个盒子从0度转到360度:

@keyframes rotateCircle {
    from { transform: rotate(0deg); }
    to { transform: rotate(360deg); }
}

也可以写成百分比形式,控制更精细:

@keyframes rotateCircle {
    0% { transform: rotate(0deg); }
    50% { transform: rotate(180deg); }
    100% { transform: rotate(360deg); }
}

把动画应用到元素上

定义好关键帧后,用animation属性将它绑定到具体元素。例如一个圆形div:

.circle {
    width: 100px;
    height: 100px;
    background: #3498db;
    border-radius: 50%;
    animation: rotateCircle 2s linear infinite;
}

其中animation的参数说明:
- rotateCircle:动画名称
- 2s:持续2秒
- linear:匀速转动
- infinite:无限循环

支持更多旋转效果

你可以调整transform属性实现不同旋转方式:

  • rotateX(360deg):沿X轴翻转(上下翻)
  • rotateY(360deg):沿Y轴翻转(左右翻)
  • rotateZ(360deg):平面内旋转(等同于rotate)
  • rotate3d(1, 1, 0, 360deg):3D空间旋转

如果要用3D旋转,记得给父容器加perspective,否则看不出立体感:

.container {
    perspective: 1000px;
}

基本上就这些。定义关键帧、绑定动画、设置时长和循环,就能让元素转起来。不复杂但容易忽略细节,比如忘了加transform-origin或没设无限循环。多试几次就熟练了。