CSSのtable-layoutプロパティの使い方:テーブルのレイアウトを自在に制御する方法
CSSのtable-layoutプロパティは、ブラウザがテーブルをどのように描画・レイアウトするかを制御するためのプロパティです。このプロパティには「fixed」「auto」「inherit」の3つの値を指定できます。
table-layoutプロパティに指定できる値
- auto(初期値):セルの内容に応じて、ブラウザが自動的に各列の幅を計算します。内容が長いセルがあると、その列の幅が広がります。
- fixed:テーブル全体の幅や各列の指定された幅が優先されます。セルの内容が長くても列幅は変わらず、はみ出した部分は折り返して表示されます。レイアウトの計算が一度で済むため、描画速度が速いのもメリットです。
- inherit:親要素のtable-layoutプロパティの値を継承します。
サンプルコード
以下のコードを実行すると、CSSのtable-layoutプロパティの「auto」と「fixed」それぞれの動作の違いを確認できます。
<html>
<head>
<style>
table.auto {
table-layout: auto
}
table.fixed {
table-layout: fixed
}
</style>
</head>
<body>
<table class="auto" border="1" width="100%">
<tr>
<td width="20%">1000000000000000000000000000</td>
<td width="40%">10000000</td>
<td width="40%">100</td>
</tr>
</table>
<br />
<table class="fixed" border="1" width="100%">
<tr>
<td width="20%">1000000000000000000000000000</td>
<td width="40%">10000000</td>
<td width="40%">100</td>
</tr>
</table>
</body>
</html>実行結果のポイント
上記の例では、1つ目のテーブル(auto)はセル内の長い数値に合わせて列幅が自動的に調整されます。一方、2つ目のテーブル(fixed)では、指定した幅(20%・40%・40%)が厳密に適用され、セルの内容がどれだけ長くても列幅は変化しません。このように、table-layoutプロパティを使い分けることで、テーブルの表示を意図どおりにコントロールできます。
-
CSSのborder-right-styleプロパティの使い方を徹底解説
border-right-styleプロパティとはCSSのborder-right-styleプロパティは、要素の右側の境界線(ボーダー)のスタイルを指定するためのプロパティです。破線や点線、実線など、さまざまな線種を設定できます。主な値の一覧none … ボーダーを表示しない(初期値)solid … 一本の実線dashed … 破線dotted … 点線double … 二重線groove / ridge / inset / outset … 立体的な装飾線実装例以下のコードでは、右側のボーダーに破線(dashed)を適用しています。border-widthで線の太さを4pxに設定し、bor
-
CSSのtransition-delayプロパティの使い方:トランジション効果に遅延を設定する方法
CSSのtransition-delayプロパティとは CSSのtransition-delayプロパティを使用すると、トランジション(transition)効果の開始を指定した時間だけ遅らせることができます。要素に変化が発生しても、設定した待機時間が経過するまでアニメーションは実行されません。 このプロパティは、ユーザーインターフェースにリズム感を持たせたり、複数のアニメーションを順番に実行させたりする場合に非常に便利です。 transition-delayの基本的な使い方 以下のコード例では、ボックスにマウスカーソルを乗せると幅が変化しますが、トランジション開始まで1秒間の遅延が発生するよ