3
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

動く!水玉模様のレイアウト【HTML・CSS】

Last updated at Posted at 2021-02-17

#できること & 完成図
水玉模様のレイアウトを実装する方法について述べます。

水玉.gif

#概要
HTMLとCSSを使い、以下の記述をコピペするだけで水玉模様のレイアウトを実装できます。

#実装方法
##HTML

index.html
<ul class="circles">
    <li></li>
    <li></li>
    <li></li>
    <li></li>
    <li></li>
    <li></li>
    <li></li>
    <li></li>
    <li></li>
</ul>
styles.css
@import url('https://fonts.googleapis.com/css?family=Exo:400,700');


.circles{
    top: 0;
    left: 0;
    width: 50%;
    height: 100%;
    overflow: hidden;
    padding-left: 300px;
}

.circles li{
    position: absolute;
    display: block;
    list-style: none;
    width: 20px;
    height: 20px;
    background: rgba(255, 255, 255, 0.2);
    animation: animate 25s linear infinite;
    bottom: -30px;
}

.circles li:nth-child(1){
    left: 25%;
    width: 80px;
    height: 80px;
    animation-delay: 0s;
}


.circles li:nth-child(2){
    left: 10%;
    width: 20px;
    height: 20px;
    animation-delay: 2s;
    animation-duration: 12s;
}

.circles li:nth-child(3){
    left: 70%;
    width: 20px;
    height: 20px;
    animation-delay: 4s;
}

.circles li:nth-child(4){
    left: 40%;
    width: 60px;
    height: 60px;
    animation-delay: 0s;
    animation-duration: 18s;
}

.circles li:nth-child(5){
    left: 65%;
    width: 20px;
    height: 20px;
    animation-delay: 0s;
}

.circles li:nth-child(6){
    left: 75%;
    width: 110px;
    height: 110px;
    animation-delay: 3s;
}

.circles li:nth-child(7){
    left: 35%;
    width: 150px;
    height: 150px;
    animation-delay: 7s;
}

.circles li:nth-child(8){
    left: 50%;
    width: 25px;
    height: 25px;
    animation-delay: 15s;
    animation-duration: 45s;
}

.circles li:nth-child(9){
    left: 20%;
    width: 15px;
    height: 15px;
    animation-delay: 2s;
    animation-duration: 35s;
}

.circles li:nth-child(10){
    left: 85%;
    width: 150px;
    height: 150px;
    animation-delay: 0s;
    animation-duration: 11s;
}



@keyframes animate {

    0%{
        transform: translateY(0) rotate(0deg);
        opacity: 1;
        border-radius: 150px;
        background-color: #f7ddc5;  
    }

    100%{
        background-color: #f8eac0;  
        transform: translateY(-1000px) rotate(720deg);
        opacity: 0;
        border-radius: 50%;
    }

}

#説明
・HTMLにliが10要素あり、CSSのchildとしている10要素にそれぞれ対応しています。
→10種類の水玉が表示される仕様としています。

・animation-delay プロパティは、アニメーションをいつ開始するかを指定します。
→水玉が現れるタイミング。

・animation-durationプロパティはアニメーション一回分の時間の長さを指定します。
→水玉の下→上へと移動する速度。

#最後に
それぞれのプロパティに対応する値を変更することで、仕様に沿った水玉を表現できます。

この方法だと、JavaScriptを使用せずとも、HTMLとCSSを使用するだけで水玉のモーションを表現できます。

よろしければご参考ください。
以上です。

3
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?