출처: Online Tutorials https://youtu.be/aCV_70A3t5E

 

Online Tutorials는 인도 사람이 운영하는 채널인 듯한데,

CSS를 자유롭게 다루는 거 보면 참 신기하기도 하면서 부럽기도 하다..

 

가끔 유튜브에 뜨면 보고 따라 한다. 

여기서 CSS에 대한 아이디어를 많이 얻어갈 수 있기 때문!

오늘은 처음 보자마자 신기해서 바로 따라 해 본 영상을 가져왔다.

실무에서 얼마나 쓰일진 모르겠지만, 모든 일은 다다익선이라 했던가.. 알아두면 여러모로 도움이 될 것 같다.

 

소스코드

<!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>
  <link rel="stylesheet" href="./style23.css">

  <style>
    * {
      margin: 0;
      padding: 0;
      box-sizing: border-box;
    }

    body {
      display: flex;
      justify-content: center;
      align-items: center;
      min-height: 100vh;
      overflow: hidden;
      background: #001f25;
    }

    .loader {
      position: relative;
      width: 300px;
      height: 300px;
    }

    .loader span {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      transform: rotate(calc(36deg * var(--i)));
    }

    .loader span::before {
      content: "";
      position: absolute;
      top: 0;
      left: 0;
      border: 4px solid #00efff;
      width: 25px;
      height: 25px;
      border-radius: 50%;
      background: transparent;
      box-sizing: border-box;
      box-shadow: 0 0 20px #00efff,
      -30px -30px 0 #00efff,
      -30px -30px 20px #00efff,
      30px 30px 0 #00efff,
      30px 30px 20px #00efff,
      30px -30px 0 #00efff,
      30px -30px 20px #00efff,
      -30px 30px 0 #00efff,
      -30px 30px 20px #00efff;
      animation: animate 5s linear infinite;
      animation-delay: calc(-0.25s * var(--i));
      transform-origin: 20px;
      transition: 3s ease;
    }

    .loader:hover span::before {
      transform-origin: 250px;
      box-shadow: 0 0 20px #00efff,
      -200px -200px 0 #00efff,
      -200px -200px 20px #00efff,
      200px 200px 0 #00efff,
      200px 200px 20px #00efff,
      200px -200px 0 #00efff,
      200px -200px 20px #00efff,
      -200px 200px 0 #00efff,
      -200px 200px 20px #00efff;
    }

    @keyframes animate {
      0% {
        transform: rotate(0deg);
        filter: hue-rotate(0deg);
      }

      100% {
        transform: rotate(360deg);
        filter: hue-rotate(360deg);
      }
    }
  </style>
</head>
<body>
  <div class="loader">
    <span style="--i:1;"></span>
    <span style="--i:2;"></span>
    <span style="--i:3;"></span>
    <span style="--i:4;"></span>
    <span style="--i:5;"></span>
    <span style="--i:6;"></span>
    <span style="--i:7;"></span>
    <span style="--i:8;"></span>
    <span style="--i:9;"></span>
    <span style="--i:10;"></span>
  </div>
</body>
</html>

 

구현결과

마우스를 올리면 돌아가고 내리면 다시 제자리로 돌아온다.

+ Recent posts