カテゴリ: Bootstrap 更新日: 2026/04/27

Bootstrapで縦スクロールできるテーブルを作る方法|高さ固定+ヘッダー固定を超やさしく解説

縦スクロールテーブル:高さ固定コンテナ+ヘッダー固定の実装
縦スクロールテーブル:高さ固定コンテナ+ヘッダー固定の実装

先生と生徒の会話形式で理解しよう

生徒

「表が長すぎて、下の行を見るときに見出しが消えてしまいます…」

先生

「それなら、縦にスクロールできて、しかも見出しが固定されるテーブルを使うと便利ですよ」

生徒

「パソコンを触ったことがなくても作れますか?」

先生

「大丈夫です。箱と紙にたとえながら、順番に説明しますね」

1. 縦スクロールテーブルとは何か

1. 縦スクロールテーブルとは何か
1. 縦スクロールテーブルとは何か

縦スクロールテーブルとは、表の高さを決めて、その中だけを上下に動かせるテーブルのことです。机の上に箱を置き、その中に長い紙の表を入れて、箱の中だけをのぞいて動かすイメージです。Bootstrapでは、この仕組みをとても簡単に作ることができます。

2. Bootstrapのテーブルの基本構造

2. Bootstrapのテーブルの基本構造
2. Bootstrapのテーブルの基本構造

Bootstrapのテーブルは、HTMLのtableという仕組みを使います。これは「表を作るための決まった型」です。行や列をそろえる役割があり、Excelのマス目のようなものだと考えるとわかりやすいです。


<table class="table">
    <thead>
        <tr>
            <th>名前</th>
            <th>年齢</th>
        </tr>
    </thead>
    <tbody>
        <tr>
            <td>山田</td>
            <td>20</td>
        </tr>
    </tbody>
</table>
ブラウザ表示

3. 高さを固定する箱を用意する

3. 高さを固定する箱を用意する
3. 高さを固定する箱を用意する

縦スクロールを作るためには、まず「高さが決まった箱」を用意します。この箱の中にテーブルを入れることで、はみ出した部分だけがスクロールします。箱とは、divというHTMLの部品です。


<div style="height:200px; overflow-y:auto;">
    ここにテーブルが入ります
</div>
ブラウザ表示

4. ヘッダーを固定する仕組み

4. ヘッダーを固定する仕組み
4. ヘッダーを固定する仕組み

ヘッダーとは、表の一番上にある見出し行のことです。これを固定するには、少しだけCSSという「見た目を決めるルール」を使います。難しく考えず、「この行はその場に止まっていてね」と伝える命令だと思ってください。


<style>
    thead th {
        position: sticky;
        top: 0;
        background: #f8f9fa;
    }
</style>
ブラウザ表示

5. 高さ固定とヘッダー固定を組み合わせる

5. 高さ固定とヘッダー固定を組み合わせる
5. 高さ固定とヘッダー固定を組み合わせる

ここまでの内容を合体させると、縦にスクロールできて、見出しが消えないテーブルになります。箱の中に表を入れ、見出しだけを固定する、という流れです。


<div style="height:250px; overflow-y:auto;">
    <table class="table table-bordered">
        <thead>
            <tr>
                <th>商品名</th>
                <th>価格</th>
            </tr>
        </thead>
        <tbody>
            <tr><td>りんご</td><td>100円</td></tr>
            <tr><td>みかん</td><td>120円</td></tr>
            <tr><td>ばなな</td><td>90円</td></tr>
            <tr><td>ぶどう</td><td>300円</td></tr>
        </tbody>
    </table>
</div>
ブラウザ表示

6. Bootstrapのクラスで見た目を整える

6. Bootstrapのクラスで見た目を整える
6. Bootstrapのクラスで見た目を整える

Bootstrapには、表をきれいに見せるためのクラスがたくさん用意されています。クラスとは「見た目の服」のようなもので、付けるだけでデザインが整います。難しい操作は必要ありません。

7. 初心者がつまずきやすいポイント

7. 初心者がつまずきやすいポイント
7. 初心者がつまずきやすいポイント

よくある失敗は、箱の高さを決め忘れることです。高さがないと、そもそもスクロールは発生しません。また、見出しの背景色を指定しないと、文字が重なって見えることがあります。これらは設定を一つ足すだけで解決できます。

8. 縦スクロールテーブルが役立つ場面

8. 縦スクロールテーブルが役立つ場面
8. 縦スクロールテーブルが役立つ場面

縦スクロールとヘッダー固定のテーブルは、名簿、商品一覧、管理画面などで特に活躍します。画面が小さくても情報を整理して見せられるため、初心者にもやさしい画面構成になります。

まとめ

まとめ
まとめ

この記事では、Bootstrapを使って縦スクロールできるテーブルを作成する方法について、HTMLやCSSに初めて触れる人でも理解できるよう、順を追って説明してきました。縦スクロールテーブルとは、表全体の高さを固定し、その中身だけを上下に動かせる仕組みのことです。これにより、データ量が多い表でも画面を占領せず、読みやすさを保つことができます。特に管理画面や商品一覧、名簿のような情報量の多いページでは、縦スクロールとヘッダー固定の組み合わせがとても重要になります。

基本となる考え方はとてもシンプルで、「高さを決めた箱の中にテーブルを入れる」という発想です。この箱の役割を果たすのがdivタグであり、style属性やCSSを使って高さとスクロールの設定を行います。overflow-yをautoに設定することで、内容がはみ出したときだけ縦方向にスクロールバーが表示されます。この仕組みを理解することで、テーブル以外のレイアウトにも応用できるようになります。

さらに、表の見出し行を固定するために使用したのが、position: stickyというCSSの指定です。これは「スクロールしても、決められた位置にとどまる」という性質を持っています。theadのthタグに対して指定することで、表の中身だけが動き、見出しは常に上に表示されたままになります。背景色を設定する理由も重要で、スクロール時に文字が重なって見えないようにするための工夫です。

Bootstrapのtableクラスやtable-borderedといったクラスを使うことで、見た目を簡単に整えられる点も大きな特徴です。難しいデザインの知識がなくても、クラスを付けるだけで整った表が完成します。これはBootstrapの大きな強みであり、初心者がつまずきにくい理由の一つです。

また、初心者がよく失敗しがちなポイントとして、高さを指定し忘れるケースや、ヘッダー固定だけを設定してスクロールが効かないケースがありました。これらは仕組みを理解すればすぐに解決できます。縦スクロールが発生する条件は「高さが固定されていること」、ヘッダー固定が正しく動く条件は「スクロールする親要素が存在すること」です。この二つを意識するだけで、トラブルは大きく減ります。

縦スクロールテーブルは、画面サイズが限られている場合や、スマートフォンやタブレットでの閲覧を意識したときにも役立ちます。情報を詰め込みすぎず、必要な部分だけを見せることで、ユーザーにやさしい画面設計ができます。今回学んだ内容は、Bootstrapのテーブルだけでなく、Webページ全体のレイアウト設計にもつながる大切な考え方です。

まとめのサンプルプログラム


<style>
    thead th {
        position: sticky;
        top: 0;
        background: #f8f9fa;
    }
</style>

<div style="height:200px; overflow-y:auto;">
    <table class="table table-bordered">
        <thead>
            <tr>
                <th>項目</th>
                <th>内容</th>
            </tr>
        </thead>
        <tbody>
            <tr><td>仕組み</td><td>高さ固定の箱の中でスクロール</td></tr>
            <tr><td>重要設定</td><td>overflow-yとposition</td></tr>
            <tr><td>利点</td><td>見出しが常に見える</td></tr>
            <tr><td>用途</td><td>一覧表や管理画面</td></tr>
        </tbody>
    </table>
</div>
ブラウザ表示
先生と生徒の振り返り会話

生徒

「縦にスクロールできるテーブルって、ただ表を長くするだけじゃないんですね」

先生

「そうです。高さを決めた箱の中で動かす、という考え方が大切でしたね」

生徒

「見出しが消えないのも、CSSで位置を固定しているだけだとわかりました」

先生

「positionの指定を覚えると、他の場面でも役に立ちますよ」

生徒

「Bootstrapのクラスを付けるだけで、見た目が整うのも安心しました」

先生

「最初は仕組みを理解することが大事です。今日の内容を押さえれば、実務でも使えますよ」

2026年最新 スキルアップ・実践セミナー

【60分集中】CSSを1行も書かない!?Bootstrap 5ユーティリティクラス活用で開発工数を50%削減

「スピード」が武器になる。Bootstrap 5で商用クオリティのWebサイトを高速構築。

本講座では、世界シェアNo.1のフレームワークBootstrap 5を使いこなし、ゼロからレスポンシブサイトを組み上げる「現場最速のワークフロー」を学びます。単なる導入に留まらず、ユーティリティクラスを活用した効率化と、実務で必須となるカスタマイズ技法を60分で完全習得します。

具体的なワークショップ内容と環境

【つくるもの】
モダンなランディングページ(LP)やダッシュボードのプロトタイプを作成します。ナビゲーション、ヒーローセクション、カードレイアウト、フッターなど、Bootstrapのコンポーネントを組み合わせて「一瞬で形にする」感動を体験してください。

【開発環境】
VS CodeにBootstrap 5専用のSnippet(補完機能)を導入し、手入力を最小限にする環境を構築。最新のCDN利用法や、表示速度(Core Web Vitals)を意識した最適な読み込み設定など、プロの初期設定を伝授します。

この60分で得られる3つの革新スキル

1. グリッドシステムの完全マスター

スマホ・タブレット・PCでレイアウトを自由自在に切り替える「ブレイクポイント」の極意を学びます。

2. ユーティリティクラスによる爆速デザイン

CSSを1行も書かずに、マージン・パディング・カラーを制御。開発工数を半分以下にする実戦術を習得します。

3. 脱・標準デザインのカスタマイズ

「Bootstrap感」を消し、独自のブランドイメージに合わせるための、上書きの作法とデザインの整え方を伝授します。

※本講座は、HTML/CSSの基本を理解した方向けの「実践加速講座」です。制作会社のコーダーや副業フリーランスとして「案件の回転率」を上げ、市場価値を最大化させたい方をモクモクがバックアップします。

【60分集中】CSSを1行も書かない!?Bootstrap 5ユーティリティクラス活用で開発工数を50%削減

Bootstrap 5を楽しみながら、一緒に学びましょう!

各回少人数・マンツーマン形式で徹底サポート

このセミナーの詳細・お申し込みはこちら
カテゴリの一覧へ
新着記事
New1
Bootstrap
Bootstrap移行ガイド!IEサポート終了の影響と代替実装・ポリフィルの考え方
New2
CSS
CSSでグリッド・フレックスと組み合わせたマージン最適化テクニック!初心者でもわかる余白調整
New3
Bootstrap
Bootstrapオフキャンバス完全入門|バックドロップ・スクロール・キーボード設定をやさしく解説
New4
CSS
CSSで見出し・段落・リストのマージン調整を完全解説!初心者でも理解できる基本
人気記事
No.1
Java&Spring記事人気No1
CSS
CSSで要素のサイズを自動調整!autoとfit-contentの使い方
No.2
Java&Spring記事人気No2
CSS
CSSの透明度を完全解説!初心者にもわかるopacityとrgbaの使い方
No.3
Java&Spring記事人気No3
CSS
CSSでGoogle Fontsを使う方法を完全ガイド!初心者でもできるフォントの変更
No.4
Java&Spring記事人気No4
HTML
HTMLのimgタグの書き方|src・altの必須属性を初心者向けにやさしく整理
No.5
Java&Spring記事人気No5
Bootstrap
ReactでBootstrapを使う方法を解説!初心者でもわかるreact-bootstrapと本体の違い
No.6
Java&Spring記事人気No6
CSS
CSSで色の明るさや鮮やかさを自由に調整!初心者向けHSLカラー指定の完全ガイド
No.7
Java&Spring記事人気No7
CSS
CSSのレイアウト基本パターンを完全ガイド!初心者でもわかる2カラム・3カラムの作り方
No.8
Java&Spring記事人気No8
CSS
CSSのダブルボーダーや点線・破線を完全ガイド!初心者でもわかるdotted・dashed・doubleの使い方