1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

はじめに

Web 制作を効率化し、レスポンシブ対応を簡単に実現できるフロントエンドフレームワーク Bootstrap 5 の基礎から実践までを、サンプルコード付きで解説します。

目次


1. Bootstrap とは

  • Twitter 社 が開発したオープンソースの CSS フレームワーク
  • レスポンシブデザイン対応済み
  • 豊富な UI コンポーネント(ボタン、ナビバー、カードなど)を標準搭載
  • Sass 変数でテーマや色をカスタマイズ可能

2. 環境構築(インストール方法)

CDN で試す

<!-- head 内に貼るだけ -->
<link
  href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/css/bootstrap.min.css"
  rel="stylesheet"
/>
<script
  src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/js/bootstrap.bundle.min.js"
></script>


npm/Yarn で導入

npm

npm install bootstrap

Yarn

yarn add bootstrap

ES Modules で読み込む例

import 'bootstrap/dist/css/bootstrap.min.css';
import 'bootstrap';

3. グリッドシステム

12 分割のレスポンシブグリッドでレイアウトを簡単に組めます。

<div class="container">
  <div class="row">
    <div class="col-md-4">カラム1</div>
    <div class="col-md-4">カラム2</div>
    <div class="col-md-4">カラム3</div>
  </div>
</div>

.container:コンテンツを中央寄せ&左右に余白

.row:行を定義

.col-{breakpoint}-{size}:ブレークポイントごとの幅指定

image.png

<div class="row">
  <div class="col-12 col-sm-6 col-lg-4">—</div>
  <div class="col-12 col-sm-6 col-lg-4">—</div>
  <div class="col-12 col-sm-6 col-lg-4">—</div>
</div>

4. 主要コンポーネント紹介

4.1 ボタン

<button class="btn btn-primary">Primary</button>
<button class="btn btn-outline-secondary">Secondary</button>

image.png

4.2 ナビゲーションバー

<nav class="navbar navbar-expand-lg navbar-light bg-light">
  <div class="container-fluid">
    <a class="navbar-brand" href="#">Brand</a>
    <button
      class="navbar-toggler"
      type="button"
      data-bs-toggle="collapse"
      data-bs-target="#navMenu"
    >
      <span class="navbar-toggler-icon"></span>
    </button>
    <div class="collapse navbar-collapse" id="navMenu">
      <ul class="navbar-nav">
        <li class="nav-item"><a class="nav-link active" href="#">Home</a></li>
        <li class="nav-item"><a class="nav-link" href="#">Link</a></li>
      </ul>
    </div>
  </div>
</nav>

image.png

4.3 カード

<div class="card" style="width: 18rem;">
  <img src="path/to/image.jpg" class="card-img-top" alt="...">
  <div class="card-body">
    <h5 class="card-title">カードタイトル</h5>
    <p class="card-text">説明文。</p>
    <a href="#" class="btn btn-primary">詳細を見る</a>
  </div>
</div>

image.png

5. カスタマイズ方法

プロジェクト直下に _custom.scss を作成し、Sass 変数を上書きします。

// _custom.scss
$primary: #ff5722;
$font-family-base: 'Noto Sans JP', sans-serif;
@import "custom";
@import "~bootstrap/scss/bootstrap";

ユーティリティクラス(.text-primary など)も自動で反映されます。

6. 実践例:ランディングページ

<!DOCTYPE html>
<html lang="ja">
<head>
  <meta charset="UTF-8" />
  <title>ランディングページ</title>
  <link
    href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/css/bootstrap.min.css"
    rel="stylesheet"
  />
</head>
<body>
  <!-- ヘッダー -->
  <header class="bg-primary text-white text-center py-5">
    <h1>My Product</h1>
    <p class="lead">最高のプロダクトをお届けします</p>
    <a href="#features" class="btn btn-light btn-lg">詳しく見る</a>
  </header>

  <!-- 特徴セクション -->
  <section id="features" class="container py-5">
    <div class="row g-4">
      <div class="col-md-4 text-center">
        <i class="bi bi-speedometer2 display-4"></i>
        <h3>高速</h3>
        <p>〜100ms レスポンス</p>
      </div>
      <div class="col-md-4 text-center">
        <i class="bi bi-shield-lock display-4"></i>
        <h3>安全</h3>
        <p>最新セキュリティ実装</p>
      </div>
      <div class="col-md-4 text-center">
        <i class="bi bi-phone display-4"></i>
        <h3>モバイル対応</h3>
        <p>スマホでも快適</p>
      </div>
    </div>
  </section>

  <!-- フッター -->
  <footer class="bg-dark text-white text-center py-3">
    &copy; 2025 My Company
  </footer>

  <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/js/bootstrap.bundle.min.js"></script>
</body>
</html>

image.png

7. おわりに

Bootstrap を活用することで、UI 開発の効率が大幅にアップします。
ぜひあなたのプロジェクトに取り入れてみてください!

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?