비전공자 개발일기

Colorful Glowing Liquid Bowl 본문

HTML _CSS

Colorful Glowing Liquid Bowl

HiroDaegu 2022. 9. 9. 00:24
728x90
SMALL

 

<!DOCTYPE html>
<html lang="ko">
<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>COLORFUL GLOWING LIQUID BOWL</title>
  <link rel="stylesheet" href="style.css">
</head>
<body>
  <section>
    <div class="shadow"></div>
    <div class="bowl">
      <div class="liquid"></div>
    </div>
  </section>
</body>
</html>
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

body {
  display: flex;
  justify-content: center;
  align-items: center;
  min-height: 100vh;
  background-color: #121212;
}

.bowl {
  position: relative;
  width: 300px;
  height: 300px;
  background-color: rgba(255, 255, 255, .1);
  border-radius: 50%;
  border: 8px solid transparent;
  transform-origin: bottom center;
  animation: animate 5s linear infinite;
}

@keyframes animate {
  0% {
    filter: hue-rotate(0deg);
    transform: rotate(0deg);
  }
  25% {
    transform: rotate(15deg);
  }
  50% {
    transform: rotate(0deg);
  }
  75% {
    transform: rotate(-15deg);
  }
  100% {
    filter: hue-rotate(360deg);
    transform: rotate(0deg);
  }
}

.bowl::before {
  content: '';
  position: absolute;
  top: -15px;
  left: 50%;
  transform: translateX(-50%);
  width: 40%;
  height: 30px;
  border: 15px solid #444;
  border-radius: 50%;
  box-shadow: 0 10px #222;
}

.bowl::after {
  content: '';
  position: absolute;
  top: 40%;
  left: 50%;
  transform: translate(-50%, -50%);
  border-radius: 50%;
  width: 150px;
  height: 80px;
  background-color: rgba(255, 255, 255, .05);
}

.liquid {
  position: absolute;
  top: 50%;
  left: 5px;
  right: 5px;
  bottom: 5px;
  background-color: #41C1FB;
  border-bottom-left-radius: 150px;
  border-bottom-right-radius: 150px;
  filter: drop-shadow(0 0 80px #41C1FB);
  transform-origin: top center;
  animation: animateLiquid 5s linear infinite;
}

@keyframes animateLiquid {
  0% {
    transform: rotate(0deg);
  }
  25% {
    transform: rotate(-20deg);
  }
  50% {
    transform: rotate(0deg);
  }
  75% {
    transform: rotate(20deg);
  }
  100% {
    transform: rotate(0deg);
  }
}

.liquid::before {
  content: '';
  position: absolute;
  top: -10px;
  width: 100%;
  height: 20px;
  background-color: #1FA4E0;
  border-radius: 50%;
  filter: drop-shadow(0 0 80px #41C1FB);
}

.shadow {
  position: absolute;
  top: calc(50% + 150px);
  left: 50%;
  transform: translate(-50%, -50%);
  width: 300px;
  height: 30px;
  background-color: rgba(0, 0, 0, .5);
  border-radius: 50%;
}
728x90
LIST

'HTML _CSS' 카테고리의 다른 글

Growing Smiley Face Effects  (0) 2022.09.12
Hover Effect  (0) 2022.09.10
Paper  (0) 2022.09.08
Rader Loading Animation  (0) 2022.09.07
Mario Matching Game  (0) 2022.09.06