caption-sideプロパティ。
CSSに於ける表(テーブル)に付く表題の表示位置・caption-sideプロパティに関する解説です。
caption-sideプロパティとは。
caption-sideプロパティは、表(テーブル)に付く表題の表示位置です。
HTMLにおいては、表題は<caption>要素でマークアップされますが、CSSの仕様としてはdisplayプロパティにtable-caption値が与えられた要素も対象となります。
表題の表示位置は表(テーブル)に対して上か下のいずれかから撰びます。
- CSS第二水準とCSS第二水準第一改訂版(CSS 2.1)ではこの扱いが異なっております。ここでは後者に従って解説します。詳しくはCSS第二水準とCSS第二水準第一改訂版との違いをご覧下さい。
表題を含むボックスは、表(テーブル)の親要素の幅を100%とします(詳しくは表題を収めるボックスについてをご覧下さい)。
また、テキストの配置を決めるにはtext-alignプロパティを併用する事となります。
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)では上記の横方向の配置用の値が削除されました。