在 CSS 中,可以使用@keyframes
关键词定义一个动画的关键帧,并通过animation
属性将它应用于元素上:
.box{ animation: myAnimation 2s ease-in-out; } @keyframes myAnimation{ from{ transform: rotate(0deg); } to{ transform: rotate(360deg); } }
其中,animation
属性用来指定动画的名字、持续时间和时间曲线。在这个例子中,大家要实现的是从快到慢的旋转动画,因此大家需要使用一个非常流行的时间曲线——ease-in-out
。
接下来,大家就可以通过改变动画的时间值来实现从快到慢的动画效果。在这个例子中,大家将动画的持续时间设置为2秒,大家可以通过将时间线拉长、或者是将关键帧依次排列来实现不同速度的效果:
.box{ animation: myAnimation 6s ease-in-out; } @keyframes myAnimation{ 0%{ transform: rotate(0deg); } 20%{ transform: rotate(180deg); } 50%{ transform: rotate(360deg); } 80%{ transform: rotate(540deg); } 100%{ transform: rotate(720deg); } }
在这个例子中,大家将 2 秒的动画时间分成了 5 个阶段,其中 0% 到 20% 为加速阶段,20% 到 50% 为匀速阶段,50% 到 80% 为减速阶段,80% 到 100% 再次加速。这样,大家就创建了一个从快到慢的旋转动画。
在实际开发过程中,大家可以根据需求自由加入各种时间曲线,实现不同的速度效果。通过使用 CSS 动画,可以让网页更加丰富多彩,同时也能增加用户的体验感。