반응형

HTML, CSS로만 구성된 사각형박스가 올라오면서 원형으로 변하고 사라지는 배경을 작성해보겠습니다.

HTML PAGE

 

index.html


<!doctype html>
<html>
<head>
<title>Bubbles Background</title>
<link rel="stylesheet" type="text/css" href="BubbleBackground.css" />
</head>
<body>
  <ul class="bubbles">
    <li></li>
    <li></li>
    <li></li>
    <li></li>
    <li></li>
    <li></li>
    <li></li>
    <li></li>
    <li></li>
    <li></li>
    <li></li>
    <li></li>
  </ul>

</body>
</html>

 

BubbleBackground.css


*{
  margin: 0px;
  padding: 0px;
}
body{
  background: #DDD;
  width: 100%;
  height: 100%;
  overflow: hidden;
}
.bubbles{
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.bubbles li{
  position: absolute;
  list-style: none;
  display: block;
  width: 20px;
  height: 20px;
  background: rgba(255, 255, 255, .5);
  animation: animate 25s linear infinite;
  bottom: -150px;
}
.bubbles li:nth-child(1){
  left: 5%;
  width: 90px;
  height: 90px;
  animation-delay: 0s;
}
.bubbles li:nth-child(2){
  left: 15%;
  width: 20px;
  height: 20px;
  animation-delay: 2s;
  animation-duration: 12s;
}
.bubbles li:nth-child(3){
  left: 20%;
  width: 150px;
  height: 150px;
  animation-delay: 4s;
}
.bubbles li:nth-child(4){
  left: 30%;
  width: 35px;
  height: 35px;
  animation-delay: 0s;
  animation-duration: 18s;
}
.bubbles li:nth-child(5){
  left: 40%;
  width: 20px;
  height: 20px;
  animation-delay: 0s;
}
.bubbles li:nth-child(6){
  left: 50%;
  width: 110px;
  height: 110px;
  animation-delay: 3s;
}
.bubbles li:nth-child(7){
  left: 60%;
  width: 150px;
  height: 150px;
  animation-delay: 7s;
}
.bubbles li:nth-child(8){
  left: 65%;
  width: 25px;
  height: 25px;
  animation-delay: 15s;
  animation-duration: 45s;
}
.bubbles li:nth-child(9){
  left: 70%;
  width: 15px;
  height: 15px;
  animation-delay: 2s;
  animation-duration: 35s;
}
.bubbles li:nth-child(10){
  left: 80%;
  width: 150px;
  height: 150px;
  animation-delay: 0s;
  animation-duration: 11s;
}
.bubbles li:nth-child(11){
  left: 85%;
  width: 15px;
  height: 15px;
  animation-delay: 2s;
  animation-duration: 35s;
}
.bubbles li:nth-child(12){
  left: 95%;
  width: 20px;
  height: 20px;
  animation-delay: 0s;
  animation-duration: 8s;
}
@keyframes animate {
  0%{
    transform: translateY(0) rotate(0deg);
    opacity: 1;
    border-radius: 0;
  }
  100%{
    transform: translateY(-500px) rotate(360deg);
    opacity: 0.5;
    border-radius: 25%;
  }
  100%{
    transform: translateY(-1000px) rotate(720deg);
    opacity: 0;
    border-radius: 50%;
  }
}
 
반응형