CSS辞書
UIレシピ集に戻る

テーブルで横スクロール可能にする

表示・フィードバックBaseline 広く利用可能

画面幅が狭い時にテーブル全体を横スクロールできるようにするテクニックです。レスポンシブ対応やデータ量の多い表で便利です。

プレビュー

Live

プレビュー枠は右下をドラッグすると高さを変えられます

コードを編集して試す

書き換えるとプレビューに即反映されます。変更はこのページ内だけで、リロードすると元に戻ります。

HTML
CSS

仕組みの解説

テーブル自体は縮めず、ラッパー要素に overflow-x: auto を指定して「テーブルは本来の幅のまま、狭い画面でははみ出た分をスクロール」させる構成です。テーブル側の min-width が「これ以上は縮まない」基準になり、white-space: nowrap でセル内の不自然な折り返しを防ぎます。ラッパーに tabindex="0" と role="region" を付けると、キーボードでもスクロール操作ができます。

実装のポイント

親要素にoverflow-x: auto;を指定し、テーブルにmin-widthを設定するのがポイント。スクロールできることが伝わるよう、端をグラデーションでぼかす等の視覚ヒントも有効です。

AIに依頼するときの文例

狭い画面で横スクロールできるレスポンシブなテーブルを作ってください。ラッパーにoverflow-x: autoとtabindex="0"、テーブルにmin-widthとwhite-space: nowrapを指定してください。

使っているプロパティ