ページの作成
親となるページを選択してください。
親ページに紐づくページを子ページといいます。
例: 親=スポーツ, 子1=サッカー, 子2=野球
子ページを親ページとして更に子ページを作成することも可能です。
例: 親=サッカー, 子=サッカーのルール
親ページはいつでも変更することが可能なのでとりあえず作ってみましょう!
| この記事の要点 |
|
CSS のテーブル関連プロパティ概要
HTML の <table> / <tr> / <td> など、表組み専用要素の見た目を制御するためのプロパティが CSS には用意されています。普通のレイアウトプロパティ(margin / padding / border)に加えて、テーブル固有のものとして次の 5 つが代表的です。
| プロパティ | 役割 | 主な値 |
|---|---|---|
border-collapse | セル間のボーダー結合 | collapse / separate |
border-spacing | セル間の距離(separate 時のみ) | 長さ(px, em 等) |
table-layout | 列幅計算アルゴリズム | auto / fixed |
caption-side | <caption> の位置 | top / bottom |
empty-cells | 空セルのボーダー表示 | show / hide |
border-collapse
セル境界の表示方法。collapse にすると隣接セルのボーダーが結合され、1 本線になります。separate はセルごとに別ボーダーを描画します。
/* 結合(よく使う) */
table {
border-collapse: collapse;
}
table th, table td {
border: 1px solid #ccc;
padding: 8px;
}
/* 分離(デフォルト) */
table.separated {
border-collapse: separate;
border-spacing: 4px;
}
border-spacing
border-collapse: separate のときだけ有効。セル同士の距離を指定します。横と縦を別に指定することも可能です。
table {
border-collapse: separate;
border-spacing: 6px; /* 縦横とも 6px */
}
/* 横 6px、縦 12px */
table.tight {
border-spacing: 6px 12px;
}
table-layout
列幅の決め方を切り替えます。デフォルトの auto はセル内容を見てから幅を決めるため、行数が多いと描画が遅くなります。fixed は最初の行 + colgroup の幅だけで全体を決め、後の行は計算しません。大規模テーブルでは fixed のほうが圧倒的に高速です。
table {
table-layout: fixed;
width: 100%;
}
/* fixed のとき、列幅は colgroup や 1 行目で固定 */
table col:nth-child(1) { width: 20%; }
table col:nth-child(2) { width: 50%; }
table col:nth-child(3) { width: 30%; }
| 値 | 特徴 | 使いどころ |
|---|---|---|
auto | セル内容に応じて自動計算 | 少数行のテーブル |
fixed | 列幅を 1 回だけ計算。長文は折り返し or はみ出し | 大量行、性能重視 |
caption-side
<caption> 要素の位置を上か下に指定します。
table caption {
caption-side: bottom;
font-size: 14px;
color: #666;
}
empty-cells
空のセルのボーダーと背景を表示するかどうか。border-collapse: separate のときだけ有効です。
table {
border-collapse: separate;
empty-cells: hide; /* 空セルのボーダーを描かない */
}
display: table 系(テーブル以外の要素を表っぽくする)
表組みプロパティとは別ですが、display プロパティで任意の要素をテーブルレイアウト相当にすることもできます。
| 値 | 対応 HTML 要素 |
|---|---|
table | <table> |
table-row | <tr> |
table-cell | <td> / <th> |
table-row-group | <tbody> |
table-header-group | <thead> |
table-footer-group | <tfoot> |
table-caption | <caption> |
テーブルの装飾レシピ
シマシマ(ストライプ)
tbody tr:nth-child(odd) {
background: #f9fafb;
}
ホバー時にハイライト
tbody tr:hover {
background: #eff6ff;
}
ヘッダ行を固定(縦スクロール)
.table-wrap {
max-height: 400px;
overflow-y: auto;
}
thead th {
position: sticky;
top: 0;
background: #fff;
z-index: 1;
}
レスポンシブ(スマホで横スクロール)
.table-wrap {
overflow-x: auto;
}
table {
min-width: 600px;
}
列幅・行高の制御
テーブルの列幅は <col> / <colgroup> 要素や個別セルの width で指定できます。table-layout: fixed と組み合わせると確実に効きます。
<table>
<colgroup>
<col style="width: 30%">
<col style="width: 50%">
<col style="width: 20%">
</colgroup>
<thead>
<tr><th>項目</th><th>説明</th><th>備考</th></tr>
</thead>
...
</table>
長文セルの折り返し
固定レイアウトで長文が入るとはみ出しがちです。word-break や overflow-wrap で対処します。
td {
word-break: break-word; /* 単語境界を無視して改行 */
overflow-wrap: anywhere; /* どこでも改行 */
}
/* 1 行に収めて省略 */
td.truncate {
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
max-width: 200px;
}
テーブルでよくあるアンチパターン
- レイアウト目的での <table> 使用 — アクセシビリティが下がる。Flexbox / Grid を使う
- thead / tbody を省略 — 構造化データとして弱くなる。スクリーンリーダ対応も悪化
- cellspacing / cellpadding 属性 — HTML5 では非推奨。CSS の
border-spacing/paddingで - border-collapse の指定漏れ — ボーダーが二重になって見栄えが悪い
- 幅指定なしで table-layout: fixed — 列幅が均等割になり崩れやすい
関連
- table / tr / td / th 要素 — HTML の表組み要素
- border プロパティ — 境界線全般
- display プロパティ — 表示モード切替
- position: sticky — ヘッダ固定
- CSS Grid — テーブルに代わるレイアウト手段
ページの作成
親となるページを選択してください。
親ページに紐づくページを子ページといいます。
例: 親=スポーツ, 子1=サッカー, 子2=野球
子ページを親ページとして更に子ページを作成することも可能です。
例: 親=サッカー, 子=サッカーのルール
親ページはいつでも変更することが可能なのでとりあえず作ってみましょう!
子ページはありません
- リスト関連のプロパティ
- テーブル関連のプロパティ
人気ページ
- 1 Eclipseで「サーバーに追加または除去できるリソースがありません。」の原因と対処法
- 2 tomcat の起動 / 停止ログと catalina.log・catalina.out の違い
- 3 JavaScript base URL 取得方法|window.location.origin と SSR/Node.js 対応
- 4 YouTube Data API v3 エラー一覧|403/400/404 の主要原因と切り分け
- 5 Spring Frameworkのアノテーション一覧
- 6 Laravel エラー一覧|500/Blade/DB 接続/ルーティングの代表エラー
- 7 3Dグラフィックスとは|モデリング/レンダリング/主要ソフトウェア (Blender / Maya)
- 8 【Spring】@Valueアノテーションとは
- 9 CATALINA_HOME の確認方法 (Linux / Mac)
- 10 【Spring】@Autowiredアノテーションとは
最近更新/作成されたページ
- IPv6とは|128bitアドレス・コロン16進表記/::省略・リンクローカル・SLAAC・デュアルスタック NEW 2026-06-22 12:34:44
- VPNとは|暗号トンネル・サイト間/リモートアクセス・IPsec/SSL-VPN/WireGuardを解説 NEW 2026-06-22 12:19:10
- MAC アドレスフィルタリングの仕組みと限界 | ネットワーク入門 NEW 2026-06-22 12:19:10
- WebRTC とは ブラウザ間 P2P の音声・映像・データ通信 | ネットワーク入門 NEW 2026-06-22 12:17:25
- gRPC とは HTTP/2 + Protocol Buffers の高速 RPC | ネットワーク入門 NEW 2026-06-22 12:17:25
- HTTP/3 (QUIC) とは UDP ベースの低遅延 Web 通信 | ネットワーク入門 NEW 2026-06-22 12:17:25
- HTTP/2 とは 多重化・HPACK・バイナリフレーム | ネットワーク入門 NEW 2026-06-22 12:17:25
- Web通信プロトコル入門 HTTP/2・HTTP/3・WebSocket・gRPC・WebRTC | ネットワーク入門 NEW 2026-06-22 12:17:25
- WebSocket とは 全二重リアルタイム通信 ws/wss | ネットワーク入門 NEW 2026-06-22 12:17:25
- ファイアウォールとは|パケットフィルタ・ステートフル・DMZ・次世代FW(L4/L7)を解説 NEW 2026-06-22 12:17:24
- iptables/nftablesとは|テーブル・チェーン・ルール例・永続化をLinux視点で解説 NEW 2026-06-22 12:17:24
- HAProxy とは frontend/backend と設定例 | ネットワーク入門 NEW 2026-06-22 12:17:24
- 証明書と認証局(CA)とは|X.509・信頼チェーン・DV/OV/EV・失効(CRL/OCSP)を解説 NEW 2026-06-22 12:17:24
- CDN とは エッジキャッシュ・TTL・Cloudflare/CloudFront | ネットワーク入門 NEW 2026-06-22 12:17:24
- TLS/SSLの仕組み|ハンドシェイク・暗号スイート・前方秘匿性・証明書検証をわかりやすく解説 NEW 2026-06-22 12:17:24
コメントを削除してもよろしいでしょうか?