主要通過fliter的 blur的模糊屬性和 contrast提高對比性屬性來制作水滴下落效果
![](https://img.laitimes.com/img/_0nNw4CM6IyYiwiM6ICdiwiIyVGduV2YfNWawNiZpdmL1MjM1UDM1EDM0AzMwEjMwIzLc52YucWbp5GZzNmLn9Gbi1yZtl2Lc9CX6MHc0RHaiojIsJye.gif)
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Document</title>
<style>
* {
padding: 0;
margin: 0;
}
.container {
display: flex;
align-items: center;
justify-content: center;
flex-direction: column;
min-height: 100vh;
background-color: #000;
/* 提高對比度 把子元素模糊的邊框 重新畫出 */
filter: contrast(30);
}
.drop {
position: absolute;
width: 100px;
height: 100px;
background-color: #fff;
border-radius: 50%;
/* 設定水滴的模糊程度 */
filter: blur(20px);
opacity: 0;
animation: 2.5s drop linear infinite;
}
.drop:nth-child(2) {
/* transform: translateY(-80px); */
animation-delay: 0.5s;
}
.drop:nth-child(3) {
/* transform: translateY(-130px); */
animation-delay: 0.7s;
}
.collection {
width: 100px;
height: 100px;
background-color: #fff;
border-radius: 50%;
filter: blur(20px);
animation: 3s collection linear infinite;
}
span {
position: absolute;
font-family: helvetica, '微軟雅黑', PingFang SC;
font-size: 30px;
}
@keyframes drop {
0% {
transform: scale(0.7) translateY(-600%);
opacity: 0;
}
50% {
transform: scale(0.4) translateY(-80%);
opacity: 1;
}
100% {
transform: scale(0.3) translateY(0);
opacity: 0;
}
}
@keyframes collection {
0% {
transform: scale(1) rotate(0deg);
}
50% {
transform: scale(1.3) rotate(180deg);
width: 90px;
border-top-left-radius: 40%;
border-bottom-left-radius: 45%;
}
100% {
transform: scale(1) rotate(360deg);
}
}
</style>
</head>
<body>
<div class="container">
<div class="drop"></div>
<div class="drop"></div>
<div class="drop"></div>
<div class="collection"></div>
<span>80%</span>
</div>
</body>
</html>