Tailwind cssでアニメーションをしてみた💻

2025年11月20日 CSS #Tailwind css

さいしょに

今回は前回に引き続きTailwind cssでスクロールを促すアニメーションとメインビジュアルなどでよく見られるスライドアニメーションをまとめていこうと思います。

スクロールを促すアニメーション

※今回は画像だとわかりにくかったのでリンクだけ表示しています。

まず最初にスクロールを促すアニメーションです。

<!-- styleタグで囲んで指定する -->

 
<style>

.scroll{
    position:fixed;
    width:1px;
    height:100px;
    top:50%;
    left:50%;
    background-color:#000;
    animation:scroll 1.8s ease-out infinite;
}

@keyframes scroll{
    0%{
        transform:scale( 1 , 0 );
        transform-origin:top;
    }

    50%{
        transform:scale( 1 , 1 );
        transform-origin:top;
    }

    51%{
        transform:scale( 1 , 1 );
        transform-origin:bottom;
    }

    100%{
        transform:scale( 1 , 0 );
        transform-origin:bottom;
    }
}

 
<!-- Tailwind cssで指定する-->

@theme{
    --animate-scroll:scroll 1.8s ease-out infinite;

    @keyframes scroll{
        0%{
            transform:scale( 1 , 0 );
            transform-origin:top;
        }

        50%{
            transform:scale( 1 , 1 );
            transform-origin:top;
        }

        51%{
            transform:scale( 1 , 1 );
            transform-origin:bottom;
        }

        100%{
            transform:scale( 1 , 0 );
            transform-origin:bottom;
        }
    }
}

<div class="fixed w-px h-24 top-1/2 left-1/2 bg-black animate-scroll"></div>

スライドショーのアニメーション

次にメインビジュアルなどでよく見られる画像がスライドするスライドのアニメーションです。

<!-- styleタグで囲んで指定する -->

<style>

.content{
    position:relative;
    max-width:100%;
    width:100%;
    overflow:hidden;

    .slides{
        display:flex;
        width:300%;
        height:800px;
        animation:slideshow 9s infinite;

        .slide{
            width:33.33%;
            height:100%;
            background-size:cover;
            background-position:center;
        }

        .slide1{
            background-image:url(./image/thumbnail_image01.png);
        }

        .slide2{
            background-image:url(./image/thumbnail_image03.png);
        }

        .slide3{
            background-image:url(./image/thumbnail_image02.png);
        }
    }
}

@keyframes slideshow{
    0%{
        margin-left:0;
    }

    33%{
        margin-left:0;
    }

    34%{
        margin-left:-100%;
    }

    66%{
        margin-left:-100%;
    }

    67%{
        margin-left:-200%;
    }

    100%{
        margin-left:-200%;
    }
}

 
<!-- Tailwind cssで指定する -->

@theme{
    --animate-slideshow:slideshow 9s infinite;

    @keyframes slideshow{
        0%{
            margin-left:0;
        }

        33%{
            margin-left:0;
        }

        34%{
            margin-left:-100%;
        }

        66%{
            margin-left:-100%;
        }

        67%{
            margin-left:-200%;
        }

        100%{
            margin-left:-200%;
        }
    }
}

<div class="relative max-w-full w-full overflow-hidden">
    <div class="flex w-[300%] h-96 animate-slideshow">
        <div class="w-1/3 h-full bg-center bg-cover bg-[url(./image/thumbnail_image01.png)]"></div>
        <div class="w-1/3 h-full bg-center bg-cover bg-[url(./image/thumbnail_image03.png)]"></div>
        <div class="w-1/3 h-full bg-center bg-cover bg-[url(./image/thumbnail_image02.png)]"></div>
    </div>
</div>

さいごに

今回はスクロールを促すアニメーションとスライドショーのアニメーションをまとめてみました。
初めてTailwind cssでアニメーションを指定してうまく動かないこともありましたが、アニメーションを自分で考えてできてよかったです。
他のアニメーションにも挑戦していこうと思います。


関連記事

この記事のハッシュタグから関連する記事を表示しています。