【ITニュース解説】Day 20 - Github Card project Part 3 - Styling
2025年09月06日に「Dev.to」が公開したITニュース「Day 20 - Github Card project Part 3 - Styling」について初心者にもわかりやすいように丁寧に解説しています。
ITニュース概要
Webアプリ開発で見た目を整える方法を紹介。CSSを効率化するTailwind CSSと部品集のDaisyUIを使い、GitHubプロフィールカードを作成。Vue、Svelte、Angularのどのフレームワークでも同様の手順でスタイリングできることをコード例と共に解説する。
ITニュース解説
Webアプリケーションを開発する際、機能の実装だけでなく、ユーザーが直接目にする「見た目」を整えることも非常に重要である。この見た目をデザインする作業を「スタイリング」と呼ぶ。近年、このスタイリングを効率的かつ体系的に行うためのツールとして「CSSフレームワーク」が広く利用されている。今回紹介する記事は、GitHubのプロフィール情報を表示するカード型コンポーネントを作成するプロジェクトの一環として、人気のCSSフレームワーク「Tailwind CSS」とそのプラグイン「DaisyUI」を用いて、アプリケーションの見た目を美しく仕上げる具体的な手順を解説している。
Webページのスタイリングは、従来、HTMLファイルとは別にCSSという言語で記述されたファイルを編集して行うのが一般的であった。しかし、アプリケーションが大規模で複雑になるにつれて、CSSファイルが肥大化し、管理が難しくなるという課題があった。Tailwind CSSは、この課題を解決するための新しいアプローチを提供する。「ユーティリティファースト」という考え方に基づき、あらかじめ用意された小さな機能を持つクラス(ユーティリティクラス)をHTMLタグに直接書き込むことでスタイルを適用する。例えば、文字を大きくしたい場合はclass="text-3xl"、要素の内側に余白を持たせたい場合はclass="p-4"といった具合に、直感的なクラス名でデザインを組み立てていくことができる。これにより、CSSファイルを別途編集する手間が省け、HTMLファイルを見るだけでどのようなスタイルが適用されているかが一目でわかるようになる。
さらに、この記事では「DaisyUI」というツールも活用している。DaisyUIはTailwind CSSをさらに便利にするための部品集(コンポーネントライブラリ)のようなもので、Tailwind CSSのユーティリティクラスを組み合わせて作られた、デザイン済みのUIコンポーネントを提供する。例えば、「カード」や「ボタン」といった、Webサイトで頻繁に使われる部品を、class="card"やclass="btn"といった簡単なクラス名を追加するだけで、美しくデザインされた形で利用できるようになる。これにより、開発者はデザインの細部を一から作り込む必要がなくなり、より迅速に高品質なユーザーインターフェースを構築できる。
記事では、まずプロジェクトにTailwind CSSとDaisyUIを導入するための準備作業から説明している。具体的には、npm installというコマンドを使って必要なライブラリをプロジェクトにダウンロードし、設定ファイルに「これらのライブラリを使います」と宣言する手順が示されている。この初期設定は、Vue、Svelte、Angularといった異なるJavaScriptフレームワークごとに行う必要があるが、基本的な流れは同じである。
設定が完了すると、次はいよいよスタイリングの適用に移る。記事では、まずページ全体のレイアウトを整える例として、CSSグリッド機能を利用している。class="grid grid-cols-2"というクラスを親要素に追加するだけで、画面を均等な2つの列に分割するレイアウトを簡単に実現している。このように、複雑になりがちなレイアウト設計も、Tailwind CSSのユーティリティクラスを使えば数単語で記述することが可能だ。
続いて、プロジェクトの核となる「GitHubプロフィールカード」のスタイリングが行われる。ここではDaisyUIの力が大いに発揮される。class="card card-side bg-base-100 shadow-sm"といったクラスをHTMLのdivタグに追加するだけで、影付きで背景色が設定された、横並びのカードの基本形が完成する。カードの内部も同様で、アバター画像を表示する部分、プロフィール情報を表示する部分、そしてGitHubへのリンクボタンなど、それぞれの要素にcard-titleやbtnといったDaisyUIのクラスを適用していくことで、デザイン全体に統一感が生まれ、プロフェッショナルな見た目に仕上がっていく様子がわかる。
この記事の特筆すべき点は、同じスタイリングの目標を、Vue 3、SvelteKit、Angular 20という3つの異なる主要なフロントエンドフレームワークで達成していることである。それぞれのフレームワークでは、HTMLテンプレート内でのデータの表示方法や条件分岐の構文(例えば、Vueのv-if、Svelteの{#if}、Angularの@if)に違いがある。しかし、デザインを定義しているTailwind CSSやDaisyUIのクラス名は、どのフレームワークにおいても全く同じものが使われている。この事実は、一度Tailwind CSSとDaisyUIの使い方を習得すれば、そのスキルは特定のフレームワークに依存することなく、様々な開発環境で応用できる汎用性の高いものであることを示している。
総じて、この記事はモダンなWeb開発における効率的なスタイリング手法を学ぶための優れた実践例と言える。初心者にとっては、CSSの新しい考え方であるユーティリティファーストのアプローチを理解し、強力なツールであるTailwind CSSとDaisyUIを使って、機能的かつ見栄えの良いアプリケーションを構築する具体的なプロセスを学ぶ絶好の機会となるだろう。