css动画效果代码
html<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>CSS Animation</title>
<style>
/* 定义动画 */
@keyframes moveRight {
0% { left: 0; }
100% { left: 200px; }
}
/* 应用动画到元素 */
.box {
width: 100px;
height: 100px;
background-color: red;
position: relative;
animation: moveRight 2s ease-in-out infinite alternate;
}
</style>
</head>
<body>
<!-- 包含动画效果的元素 -->
<div class="box"></div>
</body>
</html>
这个例子中,.box
类被定义为一个宽高为 100px 的正方形元素,并且它被设置为红色背景。我们通过 @keyframes
规则定义了一个名为 moveRight
的动画,它将 .box
元素从左侧移动到右侧。动画从左侧开始到右侧结束,持续时间为 2 秒,采用了 ease-in-out 缓动函数,并且设置为无限循环,来回移动。
在 HTML 中,我们创建了一个具有 .box
类的 <div>
元素,这个元素会应用我们定义的动画效果,使其水平移动。
1. 缩放动画
让一个元素在页面中缩放:
css@keyframes scaleAnimation {
0% { transform: scale(1); }
50% { transform: scale(1.2); }
100% { transform: scale(1); }
}
.box {
width: 100px;
height: 100px;
background-color: blue;
animation: scaleAnimation 2s ease-in-out infinite;
}
2. 旋转动画
让一个元素在页面中旋转:
css@keyframes rotateAnimation {
0% { transform: rotate(0deg); }
100% { transform: rotate(360deg); }
}
.box {
width: 100px;
height: 100px;
background-color: green;
animation: rotateAnimation 2s linear infinite;
}
3. 渐变动画
让一个元素的背景颜色在页面中渐变:
css@keyframes colorAnimation {
0% { background-color: red; }
50% { background-color: yellow; }
100% { background-color: blue; }
}
.box {
width: 100px;
height: 100px;
animation: colorAnimation 3s ease-in-out infinite;
}
4. 淡入淡出动画
让一个元素在页面中淡入淡出:
css@keyframes fadeInOut {
0% { opacity: 0; }
50% { opacity: 1; }
100% { opacity: 0; }
}
.box {
width: 100px;
height: 100px;
background-color: orange;
animation: fadeInOut 3s ease-in-out infinite;
}
这些示例展示了一些常见的 CSS 动画效果,你可以根据需要调整动画持续时间、缓动函数和其他属性来创建自己想要的动画效果。