CSS动画是一种通过CSS样式表定义的动画效果,它允许开发者在不使用JavaScript的情况下实现页面元素的动态效果。CSS动画主要通过@keyframes
规则来定义动画的关键帧,然后通过animation
属性将定义好的动画应用到元素上。
CSS动画主要有以下几种类型:
@keyframes
定义动画的关键帧,可以精确控制动画的每一阶段。transition
属性实现元素状态的平滑过渡。CSS动画广泛应用于各种网页和应用的UI设计中,例如:
假设我们有两个关键帧动画,一个是animationA
,另一个是animationB
,我们希望在animationA
播放完毕后循环播放animationB
。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>CSS Animation Example</title>
<style>
@keyframes animationA {
0% { transform: translateX(0); }
100% { transform: translateX(100px); }
}
@keyframes animationB {
0% { transform: translateY(0); }
100% { transform: translateY(100px); }
}
.animated-element {
width: 100px;
height: 100px;
background-color: red;
animation: animationA 2s forwards, animationB 2s 2s infinite;
}
</style>
</head>
<body>
<div class="animated-element"></div>
</body>
</html>
@keyframes animationA
定义了第一个动画,元素从初始位置向右移动100px。@keyframes animationB
定义了第二个动画,元素从初始位置向下移动100px。.animated-element
选择器应用了这两个动画:animationA
持续2秒,使用forwards
保持最终状态。animationB
在animationA
结束后2秒开始,持续2秒,无限循环。通过这种方式,你可以实现一组关键帧动画结束后循环另一组关键帧动画的效果。
领取专属 10元无门槛券
手把手带您无忧上云