本文へスキップ
totonoe.tech

フレームワークを整える

中級

Tailwind CSS を整える

= 同じボタンを Tailwind と Bootstrap の両方で書いて見比べる

サンプルコード(クリックでエディタに挿入)

HTML EDITOR @tailwindcss/browser 4.3.3
PREVIEW

サンプルを選んで「▶ 実行」を押すと、ここにプレビューが表示されます。

CONSOLE

console 出力やエラーがあればここに表示されます。

Tailwind CSS が向いている場面/向かない場面

自分に合うのはどれ? 選び方を見る →

色・余白・配置などをユーティリティクラスの組み合わせで組み立てるCSS。

◎ 向いている場面

  • 独自のデザイン・レイアウトを自分で細かく組み立てたいとき
  • class名を都度考えず、ユーティリティの組み合わせで素早くスタイリングしたいとき
  • コンポーネント指向のJSフレームワーク(React/Vue等)と組み合わせるとき

△ 向かない場面

  • 既製のUI部品(モーダル・ドロップダウン等)を、CSS設計を考えずすぐ使いたいとき
  • クラス名の羅列を増やしたくないとき

ユーティリティファースト と コンポーネント指向

どちらも「HTML に class を書くだけで見た目が付く」点は同じですが、class の設計思想がまったく違います。

観点 Tailwind CSS Bootstrap
class の単位 1つ1つが小さなユーティリティ(px-4 bg-blue-600 等) 意味の決まった部品(btn card 等)
見た目の決め方 HTML 側でクラスを積み重ねて自由に組む 用意されたデザインに乗る(独自色は上書きが必要)
CSS 生成の仕組み 使われている class 名を走査し、必要な分だけ実行時に生成 あらかじめ全部入りの CSS ファイル1本を読み込む
JS が要る場面 基本的に不要(見た目は CSS だけ) モーダル・ドロップダウン等は bootstrap.bundle.min.js が必須
向いている場面 独自デザインを細かく作り込みたいとき とにかく早く「それっぽい」画面を組みたいとき

上の①「比較用ボタン」を Tailwind タブ・Bootstrap タブそれぞれで開いてみてください。見た目はほぼ同じでも、書かれている class がまったく違うことが分かります。

このページについて

ライブラリは cdn.jsdelivr.net から読み込みます。書いたコードと実行結果は端末内で完結し、外部へ送信しません(送信ゼロ)。 プレビューはサンドボックス化した iframe で、このページや端末のデータには触れません。

Tailwind タブは @tailwindcss/browser 4.3.3 を読み込み、書いた class から実行時に CSS を生成します。 Bootstrap タブは bootstrap 5.3.8 の CSS を取得して埋め込み、モーダル等の開閉には bootstrap.bundle.min.js も読み込みます。 どちらも「実行」を押したときに、切り替えたタブのライブラリだけを取得します(プログラムを受け取るだけの通信で、あなたが書いたコードは送られません)。

無限ループを書くとプレビューのタブが固まることがあります。その場合は「■ 停止」を押してください(プレビュー用の iframe を作り直します)。

このツールについて

同じボタン1つでも、Tailwind は class をユーティリティの積み重ねで書き、Bootstrap は btn のような部品クラスで書きます。タブを切り替えて、書き方の違いをそのまま見比べてみましょう。

同じボタンを TailwindBootstrap の両方の書き方で試して見比べる練習場。タブ切替・HTML エディタ+プレビュー、送信ゼロ。

主な機能

  • Tailwind / Bootstrap のタブ切替
  • 同じ見た目のボタンの比較サンプル+各4本
  • Bootstrap はモーダルなど JS 部品の例も収録
  • HTML エディタ+プレビュー iframe・送信ゼロ

よくある質問

Q. Tailwind と Bootstrap はどちらを覚えればよいですか?

A. 独自デザインを細かく作り込みたいなら Tailwind、早く整った画面を組みたいなら Bootstrap が向いています。比較サンプルで、見た目が同じでも書き方が違うことを確認できます。

Q. なぜ Bootstrap だけ CSS を先に取得しているのですか?

A. 本番の CSP の制約で外部 CSS を link 要素で直接読み込めないため、親ページで一度取得して style 要素として埋め込んでいます(送信ゼロは変わりません)。

Q. モーダルのサンプルを開いても何も起きないときは?

A. Bootstrap の対話部品は bootstrap.bundle.min.js の読み込みが必要です。実行直後は読み込み中のことがあるので、少し待ってからもう一度クリックしてください。

入力値はURLの「#」以降に入るためサーバーには送信されません。リンクを開くと同じ状態を復元します。

続けて整える

KOINOBORI ECOSYSTEM

私たちが運営するサイト