@keyframes test { 0% {left: 0px; top: 0px;} 25% {left: 200px; top: 0px;} 50% {left: 200px; top: 200px;} 75% {left: 0px; top: 200px;} 100% {left: 0px; top: 0px;} }
上面的代码就是一个最简单的关键帧动画实现,它的作用是让一个元素在HTML文档上移动,并以一个循环的形式绕着一个矩形运动。这段代码在CSS中通过@keyframes声明,并定义了关键帧动画的名称和行为。其中0%到100%,就是大家常说的动画时间轴,表示这个元素在动画过程中的状态。大家可以通过这些关键帧来调整元素的位置、颜色、旋转角度等属性。
关键帧动画与JavaScript的主要区别在于,关键帧动画是CSS本身提供的动画支持,不需要通过JavaScript代码去调整元素属性的值。另外,相比于JavaScript,通过关键帧动画实现动画效果更加简单,而且还可以通过优化动画性能,使得动画在各种设备上都能够流畅运行。
.animation { animation-name: test; animation-duration: 5s; animation-timing-function: linear; animation-iteration-count: infinite; }
最后,关键帧动画不仅可以在CSS中定义,还可以通过CSS样式类的方式,在HTML文件中调用。上面的代码就是在样式类中调用关键帧名称为test的动画。animation-duration定义了动画运行的时间(单位为秒),animation-timing-function定义了动画运行的缓动方式,animation-iteration-count定义了动画运行的次数。通过这些属性,大家可以自由定制关键帧动画的运行方式,以实现更加个性化、多样化的效果。