CSS 动画
在 CSS 中,可以使用关键帧动画(Keyframes Animation)来创建动画效果。CSS动画使得可以在不使用JavaScript的情况下,在网页上添加动态和交互性。
创建关键帧动画(Keyframes Animation)的步骤:
1、定义关键帧(Keyframes):
使用 @keyframes 规则定义动画中的关键帧。关键帧定义了动画在不同时间点的样式变化。
@keyframes slide-in { 0% { transform: translateX(-100%); } 100% { transform: translateX(0); } }
在上面的示例中,slide-in 是动画的名称,0% 和 100% 是时间点,transform 属性指定了元素在动画过程中的变换。
2、应用动画
使用 animation 属性将定义好的关键帧动画应用到元素上。
.box { width: 100px; height: 100px; background-color: blue; animation: slide-in 1s ease-out forwards; }
在上面的示例中,.box 是要应用动画的元素选择器,slide-in 是动画名称,1s 是动画持续时间(1秒),ease-out 是动画速度曲线(缓慢结束),forwards 表示动画结束时应用最后一个关键帧的样式。
动画属性详解:
animation-name:指定要应用的关键帧动画的名称。
animation-duration:指定动画持续时间。
animation-timing-function:指定动画的速度曲线,如 linear、ease-in、ease-out 等。
animation-delay:指定动画开始前的延迟时间。
animation-iteration-count:指定动画的播放次数,可以是具体次数或者 infinite 表示无限循环。
animation-direction:指定动画播放的方向,如 normal(默认)、reverse、alternate 等。
animation-fill-mode:指定动画在执行前和执行后如何应用样式,如 forwards、backwards、both 等。
示例:
<!DOCTYPE html> <html> <head> <style> div { width: 100px; height: 100px; background-color: red; position: relative; animation-name: example; animation-duration: 4s; } @keyframes example { 0% {background-color:red; left:0px; top:0px;} 25% {background-color:yellow; left:200px; top:0px;} 50% {background-color:blue; left:200px; top:200px;} 75% {background-color:green; left:0px; top:200px;} 100% {background-color:red; left:0px; top:0px;} } </style> </head> <body> <!-- 动画元素 --> <div></div> </body> </html>