Bootstrapにおける画像の幅

Bootstrapでは、画像の幅は固定のピクセル値(例: 300px)で決まるのではなく、画面の幅と、その画像が配置されている**グリッドシステムのカラム(列)**によって動的に変化します。

1. img-fluid クラスの役割

まず基本として、Bootstrapでレスポンシブな画像を扱う際には img-fluid クラスを使用します。
このクラスは、画像に以下のCSSを適用します。
max-width: 100%;
height: auto;

これにより、画像は親要素(通常はカラム .col-*)の幅を超えることはなく、アスペクト比を保ったまま自動的に縮小されます。

2. Bootstrapのブレークポイント

Bootstrapは、画面幅に応じてレイアウトを切り替えるための「ブレークポイント」を定義しています。Bootstrap 5の主要なブレークポイントは以下の通りです。

ブレークポイント 接頭辞 画面幅

  • X-Small   (なし) <576px
  • Small            sm ≥576px
  • Medium    md ≥768px
  • Large            lg ≥992px
  • Extra large       xl  ≥1200px
  • Extra extra large xxl ≥1400px

  • 3. グリッドシステムと画像の幅の関係

先日修正した index.php の以下のコードを例に説明します。

<div class="row row-cols-1 row-cols-md-3 row-cols-lg-5 g-4">
    <?php foreach ($paginatedPosts as $post): ?>
        <div class="col">
            <?php include __DIR__ . '/../assets/includes/post_item.php'; ?>
        </div>
    <?php endforeach; ?>
</div>

まとめ

Bootstrapにおける画像の幅は、
img-fluid クラスによって、親要素(カラム)の幅いっぱいに広がるように設定される。
その親要素であるカラムの幅が、Bootstrapのブレークポイントに応じて row-cols-* や col-* クラスによって変化する。
という2段階で決まります。そのため、「〇〇pxの時に画像の幅は何pxになる」と固定で決まっているわけではなく、画面幅に対する相対的な割合で変化するとご理解ください。

pagetop