フロントエンドフレームワーク 18-20日目 2024/10/24-26(お金持ちまでの道のり)

英国紳士風のお金持ちアンドロイドの絵です。 プログラミング

本日はBootstrapやTailwind CSSなどフロントエンドフレームワークについて勉強します。

初めての人はお金持ちまでの道のり:0日目をまず読んでみてください!よろしくお願いします★

フロントエンドフレームワーク

フロントエンドフレームワークは、ウェブページのデザインや機能を効率よく作成するために、あらかじめ用意されたスタイル(CSS)や動作(JavaScript)を集めたツールです。BootstrapやTailwind CSSなどがあり、デザインを統一しやすく、少ないコードで素早くページを構築できます。

Bootstrap の定義:

Bootstrapは、ウェブサイトのデザインを簡単に作成できるフレームワークです。レスポンシブデザイン(画面サイズに合わせて見た目を自動調整するデザイン)が簡単に実現できるように、事前にデザインが定義されたCSSやJavaScriptのコンポーネントが含まれています。

Tailwind CSS の定義:

Tailwind CSSは、カスタマイズが簡単なユーティリティファーストのCSSフレームワークです。小さなCSSクラスを組み合わせて、独自のデザインを素早く作ることができます。他のフレームワークとは異なり、事前定義されたデザインに依存せず、細かくカスタマイズできます。

フレームワーク の定義:

フレームワークとは、ウェブ開発を効率的に進めるためのツールやライブラリの集まりです。あらかじめ用意されたコードやルールに従って開発することで、デザインや機能を簡単に作ることができます。例えば、BootstrapやTailwind CSSは、デザインを効率的に進めるためのCSSフレームワークです。

UIコンポーネント の定義:

UIコンポーネントとは、ウェブページの一部を構成する使いやすいデザイン部品です。例えば、ボタン、ナビゲーションバー、カードなどがUIコンポーネントに当たります。これらを組み合わせて、ユーザーが使いやすいインターフェースを構築できます。

事前定義されたスタイル(クラス/CSS)

これらのフレームワークには、あらかじめ定義されたCSSクラスがたくさん用意されており、特定のクラスをHTML要素に適用するだけで、見た目を簡単に変えることができます。自分で一からCSSを記述しなくても、これらのクラスを使うことで効率よくデザインを整えられます。

フレームワーク の定義:
フレームワークとは、ウェブ開発を効率的に進めるためのツールやライブラリの集まりです。あらかじめ用意されたコードやルールに従って開発することで、デザインや機能を簡単に作ることができます。例えば、BootstrapやTailwind CSSは、デザインを効率的に進めるためのCSSフレームワークです。

CSS:デザインを実現するためのルールや方法全体のこと。
 例:h1 { color: navy; } (見出しの色をネイビーに設定)
CSSフレームワーク:デザインを素早く適用できるようにしたCSSルールやクラスの集まり。
 例:<button class="btn btn-primary"> (Bootstrapの青いボタン)
 ※CSSフレームワークを使う際は、HTMLでclass="〇〇"を使ってフレームワークのクラス名を指定します。
CSSクラス:HTML要素に特定のスタイルを適用するための名前(CSSフレームワークに含まれる場合も、自分で作る場合もあります)。
 例:<button class="btn btn-primary"> (Bootstrapの青いボタン)
 ※「btn」と「btn-primary」がCSSクラスです。

ボタンのスタイル(シンプルなボタン)

行われていることの説明

  • .simple-button クラス:ボタンに適用する基本のデザインを設定
    • background-color: #4CAF50;:背景色を緑色に設定
    • color: white;:文字色を白に設定
    • padding: 10px 20px;:上下に10px、左右に20pxの余白を追加
    • border: none;:ボーダー(枠線)をなくす
    • border-radius: 4px;:角を少し丸める
    • cursor: pointer;:マウスホバー時にポインター(手の形)を表示
    • font-size: 16px;:文字サイズを16pxに設定
  • .simple-button:hover クラス:ホバー時のスタイルを設定
    • background-color: #45a049;:ホバーすると背景色が少し暗い緑色に変わる

この設定により、緑色のシンプルなボタンが作成され、マウスホバー時に背景色が変わります。

※左側の「.(ドット)」は、CSSでクラス(class)を指定するための記号です。CSSコード内で.クラス名と記述し、HTMLに適用する際にclass属性で指定します。

CSSをHTML内で直接書く場合は、<style></style>タグの間に記述します。

グリッドシステム

グリッドシステムとは、ウェブページのレイアウトを縦横の「グリッド(格子状のマス目)」に基づいて整然と配置する仕組みです。画面をいくつかの列に分け、その列に要素を配置することで、デザインの一貫性や整頓されたレイアウトを簡単に実現できます。特に、BootstrapのようなCSSフレームワークには、レスポンシブなグリッドシステムが備わっており、画面サイズに応じて要素の並び方が自動で調整されます。

この例では、画面幅に応じて3つの列が横並びに表示され、レスポンシブにレイアウトが調整されます。

行われていることの説明

  • <div class="container">:全体を囲むコンテナで、コンテンツの幅を中央に整える
  • <div class="row">:行を作成し、その中に複数の列を配置する
  • <div class="col-4">:12等分されたうちの4列分の幅を使ってそれぞれの列を配置(4 + 4 + 4 = 12)
    • 左側の列中央の列右側の列という3つの列が、画面幅に応じて横並びに表示されます

これにより、各列が画面サイズに合わせてレスポンシブに調整される3カラムレイアウトが作成されます。

グリッドシステムの利点
・一貫性のあるレイアウトを簡単に作成できる
・画面サイズに応じたレスポンシブデザインが実現可能
・複雑なレイアウトを効率よく構築でき、保守もしやすい

事前定義されたコンポーネント(Bootstrapの場合)

フレームワークには、よく使われるUIコンポーネントも事前にデザイン済みの状態で提供されています。これにより、デザインの一貫性を保ちつつ、使いやすいインターフェースを素早く構築することができます。

フレームワークとは、ウェブ開発を効率的に進めるためのツールやライブラリの集まりです。あらかじめ用意されたコードやルールに従って開発することで、デザインや機能を簡単に作ることができます。例えば、BootstrapやTailwind CSSは、デザインを効率的に進めるためのCSSフレームワークです。

UIコンポーネントとは、ウェブページの一部を構成する使いやすいデザイン部品です。例えば、ボタン、ナビゲーションバー、カードなどがUIコンポーネントに当たります。これらを組み合わせて、ユーザーが使いやすいインターフェースを構築できます。

ナビゲーションバー(Bootstrapで提供されているコンポーネント)

行われていることの説明

  • <nav class="navbar navbar-expand-lg navbar-light bg-light">:ナビゲーションバーの基本設定
    • navbar-expand-lg:大きい画面(lg)以上でナビゲーション項目を横並びに表示
    • navbar-light bg-light:明るい背景色と文字色を設定
  • <a class="navbar-brand" href="#">Navbar</a>:ナビゲーションバーの左端に配置されるブランド(ロゴやサイト名)
  • <button class="navbar-toggler":画面が小さいときにナビゲーションを折りたたんで表示するボタン
    • data-target="#navbarNav":折りたたみが展開する対象を指定(#navbarNavのIDに紐づけ)
  • <div class="collapse navbar-collapse" id="navbarNav">:折りたたみ可能なナビゲーション部分
    • **collapse navbar-collapse**で小さな画面時に非表示になり、ボタンで開閉される
  • <ul class="navbar-nav">:ナビゲーションメニュー項目のリスト
    • <li class="nav-item active">:アクティブ状態のメニュー項目(例:Home)
    • <a class="nav-link" href="#">Home</a>:メニューリンク(HomeFeatures など)


この設定により、画面サイズに応じて折りたたまれたり展開されたりする、レスポンシブなナビゲーションバーが作成されます。

※ナビゲーションバーは一般的にホームページ(HP)のヘッダー部分に配置されることが多いです。ナビゲーションバーはヘッダー以外の場所(例えばフッター)にも配置することができますが、主にヘッダー部分でユーザーがすぐにアクセスできるように設置されています。

カードデザイン

行われていることの説明:

  • <div class="card" style="width: 18rem;">:幅18remのカード全体の枠を作成
  • <img src="image.jpg" class="card-img-top" alt="...">:カード上部に画像を表示
  • <div class="card-body">:カードの内容部分を作成
  • <h5 class="card-title">Card Title</h5>:カード内のタイトルを設定
  • <p class="card-text">Some text inside the card.</p>:カード内のテキストを表示
  • <a href="#" class="btn btn-primary">Go somewhere</a>:青いボタンを追加

この構造により、画像、タイトル、テキスト、ボタンが一体となったカードが表示されます。

Tailwind CSSの場合

Tailwind CSSは、カスタマイズが簡単なユーティリティファーストのCSSフレームワークです。小さなCSSクラスを組み合わせて、独自のデザインを素早く作ることができます。他のフレームワークとは異なり、事前定義されたデザインに依存せず、細かくカスタマイズできます。

ボタンのスタイル

行われていることの説明:

  • bg-blue-500:ボタンの背景色を青に設定
  • hover:bg-blue-700:マウスホバー時に背景色を濃い青に変更
  • text-white:文字色を白に設定
  • font-bold:文字を太字に設定
  • py-2 px-4:上下に2、左右に4の余白を追加
  • rounded:ボタンの角を丸くする


※このように、背景色やフォントサイズ、余白、ホバー効果などがクラスとして用意されているため、簡単にスタイルを適用できます。

BootstrapとTailwind CSSの違いについて

  • Bootstrap:主にボタン、ナビゲーションバー、カードなどの事前定義されたデザイン済みのコンポーネントが豊富に用意されているフレームワークです。デザインやレイアウトが一から揃っており、少しのカスタマイズで使える点が特徴です。
  • Tailwind CSS:事前定義されたデザインそのもの(ボタンやカードなど)は含まれていません。代わりに、小さなユーティリティクラス(例:text-centerbg-blue-500)が豊富に用意されており、これらを組み合わせて細かく自由にデザインできます。Bootstrapと異なり、1つの統一デザインに依存しないため、独自のデザインを作りやすいです。


まとめると

  • Bootstrapは、デザイン済みのコンポーネントを使って即座にUIを作成。
  • Tailwind CSSは、クラスを自由に組み合わせ、独自のデザインを短時間で構築。

1. Bootstrapでの迅速なUIデザイン

Bootstrapは、すぐに使えるデザイン済みのコンポーネント(ボタン、カード、ナビゲーションバーなど)が豊富で、コードの量を抑えつつ美しいUIを素早く構築できます。

実際の使い方例

  • ボタン<button class="btn btn-primary"> で青いボタンがすぐに表示
  • カード<div class="card"> で画像とテキストを含むカードを即座に作成
  • ナビゲーションバー<nav class="navbar navbar-expand-lg navbar-light bg-light"> で、デフォルトのナビゲーションバーがすぐに追加

これらを組み合わせることで、短時間で整ったデザインが作成できます。

2. Tailwind CSSでの迅速なUIデザイン

Tailwind CSSでは、ユーティリティクラス(bg-blue-500text-centerなど)を使って、デザインを素早く調整できます。Bootstrapのようなコンポーネントはありませんが、カスタマイズしたデザインを柔軟に構築できます。

実際の使い方例

  • ボタン<button class="bg-blue-500 hover:bg-blue-700 text-white font-bold py-2 px-4 rounded">
  • カード風デザイン<div class="p-4 shadow-lg rounded-lg bg-white"> で、影と丸みのあるボックスを作成
  • グリッドの使用<div class="grid grid-cols-3 gap-4"> で3列のグリッドレイアウトを瞬時に構築

Tailwind CSSはデザインを自在に組み合わせるのが簡単で、独自のレイアウトを素早く構築できます。

本日の感想

本来なら1日で終わるところを3日もかかってしまいました。急がねば。。
でも今日学んだことを使えばwordpressのHPのテーマ(cocoon)に頼らずHPをデザインできるということに気づきました。これからプログラマーとしての力を示す第一歩として、テーマに頼らず自分の力でHPをデザインしてHPをポートフォリオサイト化しようと思います。

ここに初めて来た人はゼヒ0日目を読んでください。プログラミング知識0のおじさんがお金持ちになるまでのプランと熱い思いが載っています。私と一緒に運要素を排除したゴリゴリの脳筋プレイでお金持ちを目指しませんか?

0日目の記事はこちら
お金持ちまでの道のり:0日目

コードの読み方が全く分からないという方は以下の記事がオススメです。コードの読み方の説明が一番詳しく書かれてある記事です。

ToDoリストアプリの作成 12-15日目 2024/10/18-21(お金持ちまでの道のり)

コメント

タイトルとURLをコピーしました