Tailwind CSSにAOSと連動させるためのモディファイアを設定する

Tailwind CSSにAOSと連動させるためのモディファイアを設定する

この記事では、Tailwind CSSとAOSの組み合わせによって、美しいアニメーション効果を実現する方法をご紹介します。Tailwind CSSは柔軟で高度なスタイリングを可能にし、AOSは豊富なアニメーションオプションを提供します。本記事では、Tailwind CSSとAOSを連携させる方法やサンプルコードの解説を詳しくご紹介しますので、ぜひご覧ください。あなたのウェブサイトに魅力的なアニメーション効果を追加し、ユーザーに素晴らしい体験を提供しましょう。

セットアップ

まず、Tailwind CSSとAOSをnpmでインストールします。

$ npm install -D tailwindcss
$ npx tailwindcss init
$ npm install aos --save

次に、tailwind.config.js ファイルにAOSのアニメーショントリガーを利用するためのプラグイン設定を追加します。下記の設定行うことで、aos のモディファイアを設定することで、Tailwind CSSのクラスがAOSと連動するようになります。

const plugin = require('tailwindcss/plugin')

/** @type {import('tailwindcss').Config} */
module.exports = {
    // 既存の設定...

    plugins: [
        // 既存のプラグイン...

        plugin(function ({addVariant, e}) {
            addVariant('aos', '&[data-aos].aos-animate')
        }),
    ],
}

Tailwind CSSとAOSのCSSの設定を行います。@importを使ってAOSのCSSをインポートし、Tailwind CSSの各設定を適用します。

@import 'aos/dist/aos.css';

@tailwind base;
@tailwind components;
@tailwind utilities;

最後に、AOSのJavaScript設定を行います。以下のコードを適切な場所に追加してください。

import AOS from 'aos';

AOS.init();

サンプルコード

フェードインアップのアニメーションのサンプルコードは以下のようになります。

<div
    class="translate-y-6 aos:translate-y-0 opacity-0 aos:opacity-100"
    data-aos=""
    data-aos-offset="200"
    data-aos-duration="600"
    data-aos-delay="300"
>
    <!-- ここにコンテンツを追加 -->
</div>

translate-y-6opacity-0はスクロール前の初期状態の用のクラスです。スクロール後、aos:translate-y-0aos:opacity-100が適用され、要素が上に動きながら、フェードインします。また、data-aos属性やそれに関連する属性を追加して、アニメーションの詳細な設定を行っています。

おわりに

AOSはアンカーエレメントの指定が非常に便利です。アンカーエレメントの設定を行うことで、セクションごとにアニメーションをコントロールすることができ、複数の要素が連続したアニメーションの設定も可能です。ぜひこの記事を参考にして、Tailwind CSSとAOSを組み合わせた魅力的なアニメーション効果を実現してください。

参考サイト