.circle { position: absolute; width: 50px; height: 50px; background-color: #ff00ff; border-radius: 50%; animation-name: move; animation-duration: 4s; animation-iteration-count: infinite; animation-timing-function: linear; } @keyframes move { from { transform: rotate(0deg) translateX(100px) rotate(0deg); } to { transform: rotate(360deg) translateX(100px) rotate(-360deg); } }
上面的代码中,大家定义了一个圆形元素,并为它添加了一个名为”move”的动画。在这个动画中,大家将元素从初始位置向右移动100px,同时沿着圆形路径旋转;当元素绕完一圈后,它将回到原始位置,并再次开始运动。
其中,关键帧动画的关键点如下:
- from: 元素的初始位置,此处大家将元素沿着圆形环绕路径初始化到远离圆心的位置,然后始终维持一个相同的旋转状态;
- to: 元素绕完一圈之后的位置,此时大家将元素旋转回原初角度,并移至相同距离但和起始位置相反的位置。同时,大家还需要将元素再次旋转360度,以确保元素再次进入初始状态。
使用CSS动画可以轻松地实现这种效果,而且还可以方便地通过调整关键帧动画的参数来定制各种不同的运动轨迹和速度。