在现代Web应用程序设计中使用的动画效果领域, 波波球效果是一个新的条目。在这种效果下, 我们有一些像波浪一样运动的球。现在, 你可以向其中添加不同的元素, 使其具有独特性, 例如为球和动画延迟设置不同的颜色, 或者通过更改动画的轴。
方法:方法是先创建一些小尺寸的球, 然后使用关键帧为它们设置动画, 并更改每个帧分区上球的颜色。然后, 我们将向每个球添加一些动画延迟。虽然, 动画延迟部分是可选的。
HTML代码:在本节中, 我们创建了许多将用于制作球的span标签。所有这些都包装在div标签内。
<!DOCTYPE html>
<html>
<head>
<title>Wave Ball Effect</title>
</head>
<body>
<div class = "loader">
<span></span>
<span></span>
<span></span>
<span></span>
<span></span>
<span></span>
</div>
</body>
</html>
CSS代码:对于CSS, 请遵循以下给定步骤。
- 第1步:首先, 将深色背景应用于body标签。
- 第2步:现在, 将所有span标签对准页面中心。
- 第三步:现在使用带有标识符名称的动画属性动画。
- 步骤4:现在使用关键帧为每个帧划分应用边框和颜色。在Y轴上使用变换。
- 步骤5:现在, 使用第n个child属性为每个span标签赋予一些动画延迟。
body {
background: rgb(65, 63, 63);
}
.loader {
height: 40px;
position: absolute;
top: 50%;
left: 50%;
}
.loader span {
height: 15px;
width: 15px;
display: inline-block;
border-radius: 50%;
transition: all 0.5s;
animation: animate 2s infinite;
}
@keyframes animate {
0% {
border: 1px solid #fff;
background: transparent;
transform: translateY(0);
}
50% {
border: 1px solid #fff;
background: green;
transform: translateY(-25px);
}
100% {
border: 1px solid #fff;
background: yellow;
transform: translateY(0);
}
}
.loader span:nth-child(1) {
animation-delay: 0;
}
.loader span:nth-child(2) {
animation-delay: 0.1s;
}
.loader span:nth-child(3) {
animation-delay: 0.2s;
}
.loader span:nth-child(4) {
animation-delay: 0.3s;
}
.loader span:nth-child(5) {
animation-delay: 0.4s;
}
.loader span:nth-child(6) {
animation-delay: 0.5s;
}
提示:确保将球的尺寸保持较小, 并且可以将动画轴更改为X轴以获得不同的效果。
完整的代码:它是以上两部分代码的组合。
<!DOCTYPE html>
<html>
<head>
<title>Wave Ball Effect</title>
<style>
body {
background: rgb(65, 63, 63);
}
.loader {
height: 40px;
position: absolute;
top: 50%;
left: 50%;
}
.loader span {
height: 15px;
width: 15px;
display: inline-block;
border-radius: 50%;
transition: all 0.5s;
animation: animate 2s infinite;
}
@keyframes animate {
0% {
border: 1px solid #fff;
background: transparent;
transform: translateY(0);
}
50% {
border: 1px solid #fff;
background: green;
transform: translateY(-25px);
}
100% {
border: 1px solid #fff;
background: yellow;
transform: translateY(0);
}
}
.loader span:nth-child(1) {
animation-delay: 0;
}
.loader span:nth-child(2) {
animation-delay: 0.1s;
}
.loader span:nth-child(3) {
animation-delay: 0.2s;
}
.loader span:nth-child(4) {
animation-delay: 0.3s;
}
.loader span:nth-child(5) {
animation-delay: 0.4s;
}
.loader span:nth-child(6) {
animation-delay: 0.5s;
}
</style>
</head>
<body>
<div class = "loader">
<span></span>
<span></span>
<span></span>
<span></span>
<span></span>
<span></span>
</div>
</body>
</html>
输出如下: