目次を飛ばして本文へ パン屑リストへ
Powered by Google

table-layout

対応状況
N7.0
Win
N6.0
Win
e6.0
Win
e5.5
Win
e5.0
Win
e5.0
Mac
e4.5
Mac
O7.0
Win
O6.0
Win
× × ×
auto | fixed | inherit
初期値 auto
適用 表要素
継承 しない
レベル 2-
メディア visual

表は一般的に、関連部分をすべて読み込んでからで無いと表示されません。

このプロパティでは、表をレイアウトするのに用いるアルゴリズムを制御出来ます。このプロパティで[fixed]という値を指定すると、固定レイアウトアルゴリズムというものに基づいて、1行目から表示されるように出来ます。

キーワード解説
fixed
固定レイアウトアルゴリズムを用います。表自体に幅が指定されていない場合は、[auto]と解釈されます。
auto
任意の自動レイアウトアルゴリズムを用います。

固定レイアウトアルゴリズムとは

各列の幅を決定して、1行目から表示していく方法です。列幅はボーダー、セル間距離込みです。

列幅は、以下の手順で導き出されます。

  1. 'width'の値が[auto]以外の列要素は、指定された値をそのまま列幅として用います。
  2. 列要素の'width'の値が[auto]の場合、1行目のセル要素の'width'の値に着目し、その値が[auto]以外であれば列幅として用います。該当するセル要素が複数列に渡る場合、その値は複数列分の幅を表します。
  3. 以上で幅が決まらない列は、残りの水平幅を公平に等分します(ボーダーとセル間距離を考慮して計算します)。
  4. 表要素の'width'の値と、列幅の合計のうち、大きいほうを表の幅にします。列幅の合計より表の幅のほうが大きい場合、余った幅は各列へと適当に配分するべきとされています。

このアルゴリズムを見て大体お分かり頂けたと思いますが、きちんと幅を指定しないと、なかなかに大雑把に幅が決められてしまいます。

これで内容がセルからはみ出す場合は、はみ出した内容は'overflow'で制御出来ます。

問題点
  1. 列幅が狭すぎる場合は、列ごと消す事になったり、同じセルの左右のボーダーが重なったり、パディングが重なったりもするのですが、どのように処理するか書かれていません。
関連プロパティ

page top
最終更新日:2003年09月29日
Copyright © 2002-2004 ばあど All Rights Reserved.