【CSS】水滴动画|水滴融合效果
主要通过fliter的 blur的模糊属性和 contrast提高对比性属性来制作水滴下落效果
<!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>
上一篇:
IDEA上Java项目控制台中文乱码