table-layoutプロパティ。

CSSに於ける表(テーブル)のコマのレイアウトアルゴリズム(配置処理方法)の指定・table-layoutプロパティに関する解説です。

table-layoutプロパティとは。

table-layoutプロパティは、表(テーブル)のコマのレイアウトアルゴリズムの指定です。

表(テーブル)に於いては、各コマの大きさが指定されていない場合、どのコマにどれだけの幅を割くかに関しては、いろいろな考え方があると思われます。

このため、CSSの仕様では、固定アルゴリズムのみtable-layoutプロパティで指定可能、すなわちtable-layoutプロパティでは固定アルゴリズムを採用するかどうかのみを指定出来るものとしております。

固定アルゴリズム
横幅が決められている列の横幅を確保し、残りの列は残りを等分したものとするアルゴリズムです。

正確には以下のようになります。

  1. まず、横幅が定められている、すなわちwidthプロパティauto以外の値が定められている列要素の幅を確保します。
  2. 続いて、横幅が定められていないものの、第一行目のコマにて横幅が定められている列要素の幅を確保します。
  3. 残りの列については、余った幅を等分して得られた幅が与えられます。

この方法は一行目を読み込んだ時点で表(テーブル)の列の配置が確定するため、ページ全体のレイアウトが素早く行えると言う特徴があります。

  • 実際にはもう一つ、自動アルゴリズムも仕様書にて定義しておりますが、他の任意のレイアウトアルゴリズムと区別して指定する事は出来ません。

table-layoutプロパティの扱い。

table-layoutプロパティの書式。

table-layoutプロパティの書式は、以下のようになります。

table-layout:

値としては、以下のものが取れます。

inherit
一番近い上位要素で指定された値を継承します。
auto
任意のアルゴリズムを認めます(デフォルト)。
fixed
固定アルゴリズムを指定します。

table-layoutプロパティに関する注意事項。

table-layoutプロパティの仕様上の注意。

固定アルゴリズムでの注意事項。

table-layoutプロパティにfixedを与えた場合、すなわち表(テーブル)のレイアウトに固定アルゴリズムを指定した場合、表(テーブル)の横幅が狭いとアルゴリズムを実行出来なくなります。

具体的には、表の幅から幅が定まっているコマの幅を差し引いた結果、他のコマを並べるのに充分な幅が残らなかった場合、或いは残りの幅が零以下になってしまった場合には、アルゴリズムが実行出来なくなります。

そのような場合の処理については、仕様書では規定されておりません。

table-layoutプロパティの実装上の注意。

インターネットエクスプローラでの注意事項。

ネットスケープ 4.x及びマッキントッシュ版のインターネットエクスプローラには、table-layoutプロパティが実装されておりません。

WAP 2.0での注意事項。

WAP 2.0では、table-layoutプロパティは定義されておりません

関連項目。


しらぎくのウェブサイト作成入門サイトマップ