caption-sideプロパティ。

CSSに於ける表(テーブル)に付く表題の表示位置・caption-sideプロパティに関する解説です。

caption-sideプロパティとは。

caption-sideプロパティは、表(テーブル)に付く表題の表示位置です。

HTMLにおいては、表題は<caption>要素でマークアップされますが、CSSの仕様としてはdisplayプロパティtable-captionが与えられた要素も対象となります。

表題の表示位置は表(テーブル)に対して上か下のいずれかから撰びます。

表題を含むボックスは、表(テーブル)の親要素の幅を100%とします(詳しくは表題を収めるボックスについてをご覧下さい)。

また、テキストの配置を決めるにはtext-alignプロパティを併用する事となります。

caption-sideプロパティの扱い。

caption-sideプロパティの書式。

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

caption-side:

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

inherit
一番近い上位要素で指定された値を継承します。
top
表(テーブル)の上に表題を置きます(デフォルト)。
bottom
表(テーブル)の下に表題を置きます。

caption-sideプロパティに関する注意事項。

caption-sideプロパティの仕様上の注意。

表題の幅について。(平成18年 6月19日 追記)

表(テーブル)に付けられた表題の幅については、内容に依り幅が変わる表本体とは別に決められるべきものと考えられます。

このため、表題の幅は表本体ではなく、表の親要素の幅に合わせるのが順当となります。

実際、CSS第二水準の仕様書には、

In this example, the 'caption-side' property places captions below tables. The caption will be as wide as the parent of the table, and caption text will be left-justified.

CAPTION { caption-side: bottom;
        width: auto;
        text-align: left }

すなわち、

  • この例では、caption-sideプロパティは表の下に置かれます。表題は表の親と同じ幅となり、文字は左寄りに配置されます。

と書かれております。

この記述から、表題の幅は表の親要素に合わせるのが正しい事が分かります。

  • 尚、CSS第二水準の後継仕様となる、第二水準第一改訂版(CSS 2.1)の仕様書にも当該箇所にはこの記述があります。

CSS第二水準とCSS第二水準第一改訂版との違い。

CSS第二水準(CSS 2)と第二水準第一改訂版(CSS 2.1)では、caption-sideプロパティの取れる値が異なります。

具体的には、CSS第二水準(CSS 2)ではinherit, top及びbottomの他にも以下の値が取れる事となっておりました。

left
表(テーブル)の左に表題を置きます。
right
表(テーブル)の右に表題を置きます。

つまり、表(テーブル)の横にも表題を配置する事が可能となっておりました。

しかしながら、表(テーブル)の横に表題を配置する場合、縦方向の位置関係も何らかの形で定めるべきでしょう。

CSS第二水準(CSS 2)ではvertical-alignプロパティで上下方向の配置を決められるとしておりましたが、vertical-alignプロパティを表(テーブル)の表題に当てる事は認められておりません。

このような矛盾が生じたためか、CSS第二水準第一改訂版(CSS 2.1)では上記の横方向の配置用の値が削除されました。

caption-sideプロパティの実装上の注意。

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

ネットスケープ 4.x及びインターネットエクスプローラには、caption-sideプロパティが実装されておりません。

多くのユーザエージェントでの実装について。

多くのユーザエージェントは、表本体の幅に合わせて表題のボックスの幅を伸縮させておりますが、表題の幅の考え方より不正と考えられます。

WAP 2.0での注意事項。

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

関連項目。


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