韩流体小球加载动画

JiuMeilove2022-08-06 08:22:55

效果示例
在这里插入图片描述

代碼示例

<!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> * {
 margin: 0; padding: 0; box-sizing: border-box; } #aniBox {
 display: flex; justify-content: center; align-items: center; min-height: 100vh; background-color: #0c1b21; } .loader {
 position: relative; width: 250px; height: 250px; filter: url(#gooey); animation: animate 16s linear infinite; } .loader i {
 position: absolute; top: 0; left: 0; width: 100%; height: 100%; display: block; transform: rotate(calc(45deg*var(--i))); } .loader i::before {
 content: ""; position: absolute; top: 0; left: 0; width: 50px; height: 50px; background: linear-gradient(45deg, #fb4c4c, #ff0f07); border-radius: 50%; box-shadow: 0 0 20px hsl(352, 100%, 75%); } .rotate {
 animation: animate 4s ease-in-out infinite; animation-delay: calc(-0.2s*var(--j)); } svg {
 height: 0; width: 0; } @keyframes animate {
 from {
 transform: rotate(0deg); } to {
 transform: rotate(360deg); } } </style>
</head>
<body>
<section id="aniBox">
<svg>
<filter id="gooey">
<feGaussianBlur in="SourceGraphic" stdDeviation="10"></feGaussianBlur>
<feColorMatrix values="1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 21 -9"></feColorMatrix>
</filter>
</svg>
</section>
<script> let box = document.createElement('div'); box.className = 'loader'; aniBox.appendChild(box) for (let index = 1; index < 9; index++) {
 let i = document.createElement('i'); i.style = '--i:' + index + ';'; box.appendChild(i); } for (let index = 0; index < 5; index++) {
 let i = document.createElement('i'); i.style = '--j:' + index + ';'; i.className = 'rotate'; box.appendChild(i); } </script>
</body>
</html>

thank
Similar articles