table-layout

その他

テーブルのレイアウトアルゴリズムを制御するプロパティです。セルの幅をどのように計算するかを決定し、テーブルの描画パフォーマンスや見た目に影響します。大きなテーブルでの表示速度向上にも効果的です。

構文

Syntax
table-layout: auto | fixed

コード例

1

.table-auto { table-layout: auto; width: 100%; } /* セル内容に応じて幅が自動調整される */ th, td { padding: 8px; text-align: left; }
実行結果
table-layout: auto → セル内容に応じて幅を自動調整
ID名前説明
1太郎短い説明
2花子とても長い説明文がここに入ります。この列は内容に応じて幅が広くなります。
3次郎中程度の説明
内容の多い「説明」列が自動的に幅を広く取る

auto: セル内容に応じて幅を自動調整(デフォルト)

2

.table-fixed { table-layout: fixed; width: 100%; } /* 最初の行の幅設定が全体に適用される */ th:nth-child(1) { width: 30%; } th:nth-child(2) { width: 50%; } th:nth-child(3) { width: 20%; }
実行結果
table-layout: fixed → 最初の行の幅設定に基づいて固定
ID (30%)名前 (50%)説明 (20%)
1太郎短い説明
2花子とても長い説明文...
3次郎中程度の説明
指定した幅比率(30%:50%:20%)が固定される

fixed: 最初の行の幅設定に基づいて固定レイアウト

3

.performance-table { table-layout: fixed; width: 100%; } /* 大量データのテーブルでパフォーマンス向上 */ .col-id { width: 10%; } .col-name { width: 40%; } .col-email { width: 35%; } .col-status { width: 15%; }
実行結果
大量データテーブルでのパフォーマンス最適化
ID名前メール状態
1ユーザー1user1@example.com有効
2ユーザー2user2@example.com保留
3ユーザー3user3@example.com有効
4ユーザー4user4@example.com保留
5ユーザー5user5@example.com有効
固定レイアウトにより高速描画。列幅が予測可能で大量データに適している

大量データテーブルでのパフォーマンス最適化

4

.responsive-table { table-layout: fixed; width: 100%; } /* レスポンシブテーブルの基本設定 */ @media (max-width: 768px) { .responsive-table { table-layout: auto; } }
実行結果
レスポンシブデザインでの使い分け
デスクトップ: table-layout: fixed
項目値1値2値3
売上¥100,000¥150,000¥200,000
モバイル: table-layout: auto(内容に応じて調整)
項目
売上¥100,000
画面サイズに応じてテーブルレイアウトを切り替え

レスポンシブデザインでの使い分け

5

.data-table { table-layout: fixed; border-collapse: collapse; width: 100%; } /* 均等幅のカラムレイアウト */ .data-table th, .data-table td { width: 25%; padding: 12px; border: 1px solid #ddd; }
実行結果
均等幅カラムでの整然としたレイアウト
Q1Q2Q3Q4
¥1,200,000¥1,450,000¥1,350,000¥1,600,000
¥1,100,000¥1,250,000¥1,400,000¥1,500,000
各列が均等幅(25%ずつ)で整然とした表形式のレイアウト

均等幅カラムでの整然としたレイアウト

💡 TIPS

table-layout: fixedは描画が高速で、大量データに適している。幅を事前に定義できるため、レイアウトが安定する。autoは内容に応じて柔軟に調整されるが、計算コストが高い。

⚠️ よくある間違い

fixedを使う際に列幅を指定しないと、等幅になってしまう。autoでは内容が多い列が他の列を圧迫する場合がある。レスポンシブ対応時の使い分けも重要。

関連プロパティ

ブラウザサポート

IE5+, 全ブラウザ対応