【CSS】 TailwindCSS で美しいレスポンシブなデザインを実現

  • TailwindCSS

この記事では、 TailwindCSS で美しいレスポンシブなデザインを実現する方法を紹介します。

私は業務で、Bootstrap, Material UI(MUI), 個人開発で FlatUI など、さまざまなCSSデザインを行なっていますが、個人的には TailwindCSS が一番好みです。

TailwindCSS とは

TailwindCSS は、ユーティリティファーストのCSSフレームワークです。

一般的なCSSフレームワークとは異なり、プリセットのスタイルやコンポーネントはほとんどありません。

Sponsored

その代わりにクラス名を使ってデザインを直接指定します。

これにより、柔軟でカスタマイズしやすいデザインを作れます。

HTML, CSS のクラス指定の知識が必要になるので、ややハードルは高いかもしれません。

TailwindCSS の特徴

TailwindCSS は、小さなユーティリティクラスを使用してデザインを構築します。CSSの重複や無駄を減らし、クリーンでメンテナンスしやすいコードが書けます。

<header class="bg-blue-600 text-white p-4">
        <h1 class="text-2xl">TailwindCSSで作成したレスポンシブデザイン</h1>
</header>

このように、class に TailwindCSS で定義された特定のクラスを当てはめていくだけです。

また、カスタマイズのしやすさも重要な点です。

TailwindCSS は、設定ファイルを使って簡単にカスタマイズできます。テーマやカラーパレットを自由に変更可能なので、お客様の要件に合わせたブランドカラーも簡単に指定できます。

※本記事では詳細は触れませんが、設定には tailwind.config.js という設定ファイルを使用します。 npm でインストールした際に有効で、本記事の CDN では使用できません。ご了承ください。

Sponsored

そして、本記事の肝である レスポンシブデザインも重要なポイントですね。

メディアクエリを利用して、簡単にレスポンシブデザインを作成できます。

デバイスごとに異なるスタイルを指定するのも簡単です。

次の章で、サンプルコードを紹介しているので参考にしてみてください。

TailwindCSS を CDN で利用

最も簡単な方法は、CDNを使用してTailwindCSSを導入することです。

<link href="https://cdn.jsdelivr.net/npm/tailwindcss@2.2.19/dist/tailwind.min.css" rel="stylesheet">

以下のHTMLコードを使用して、TailwindCSSをプロジェクトに追加できます。

<!DOCTYPE html>
<html lang="ja">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>TailwindCSS の導入例</title>
    <link href="https://cdn.jsdelivr.net/npm/tailwindcss@2.2.19/dist/tailwind.min.css" rel="stylesheet">
</head>
<body>
    <header class="bg-blue-600 text-white p-4">
        <h1 class="text-2xl">TailwindCSSで作成したレスポンシブデザイン</h1>
    </header>
    <main class="p-4">
        <section class="my-8">
            <h2 class="text-xl font-bold mb-4">特徴</h2>
            <ul class="list-disc list-inside">
                <li>ユーティリティファーストアプローチ</li>
                <li>カスタマイズのしやすさ</li>
                <li>レスポンシブデザイン</li>
            </ul>
        </section>
        <section class="my-8">
            <h2 class="text-xl font-bold mb-4">デモ</h2>
            <div class="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-4">
                <div class="bg-white p-4 rounded shadow">
                    <h3 class="text-lg font-bold mb-2">カード1</h3>
                    <p>これはデモ用のカードです。</p>
                </div>
                <div class="bg-white p-4 rounded shadow">
                    <h3 class="text-lg font-bold mb-2">カード2</h3>
                    <p>これはデモ用のカードです。</p>
                </div>
                <div class="bg-white p-4 rounded shadow">
                    <h3 class="text-lg font-bold mb-2">カード3</h3>
                    <p>これはデモ用のカードです。</p>
                </div>
            </div>
        </section>
    </main>
    <footer class="bg-blue-600 text-white p-4 text-center">
        <p>© 2024 サンプルだよ</p>
    </footer>
</body>
</html>

TailwindCSS の使い方

上記のHTMLコードでは、TailwindCSSのユーティリティクラスを使用して、簡単にスタイルを適用しています。

以下に、いくつかのポイントを解説します。

対象使っているクラス
ヘッダーbg-blue-600 で背景色、text-white で文字色、p-4 でパディングを設定
メインコンテンツp-4 で全体にパディングを追加
セクションmy-8 で上下にマージンを追加
リストlist-disclist-inside でリストマーカーを調整
グリッドgridgrid-cols-1 を使い、md:grid-cols-2lg:grid-cols-3 で列数を変更

実際に画面に表示してみると、以下のような画面になります。

tailwindcss-responsive-01

もちろんレスポンシブです。

tailwindcss-responsive-02

おわりに

TailwindCSSを使用することで、短期間で美しくレスポンシブなデザインを実現できます。

ユーティリティファーストアプローチにより、CSSの記述量を減らしてスタイルを設定できます。

サンプルコードを見ると、短いコードでもそれなりに整うことが分かると思います。