視覚フォーマットモデル

display特性

要素が実際に視覚化されるときには、要素ごとに「どのようなルールで視覚 化されるか」の枠組みが決まっている。この、枠組み自体を示す特性が display特性である。

display特性

要素を視覚的にフォーマットするときの種別を決める。 設定値は以下のどれか。以下の説明で「〜〜要素のような形態」と 書いたものがあるが実際の順番は逆で、定義が先にあって その要素のフォーマットが決まる。

display特性を変更すると、本来ブロックレベル要素であるものをインライン 要素の表示形式に変えたり、全く表示しないように変えることができる。

実際によく用いるのは特性値noneで、スタイルシートを解釈しない ユーザエージェントには表示させる一方、スタイルシートを解釈する ユーザエージェントには表示させないように自動的に切り替えるとき などに利用する。
利用例

また、複数の要素を同時に配置しておいて 特定の1つ以外の要素を display=none に指定して表示要素を切り替える手法 などがある。動的に切り替える手段としてJavaScriptなどのスクリプト プログラムなどがある。

visibility特性

該当要素を(視覚的に)表示するかどうかを決定するのが visibility特性である。

visibility特性

以下の特性値により、該当要素のボックス全体を表示するか どうかを決定する。

overflow特性

ボックスは通常内容物の高さと幅に合わせて大きさが決まるが、 逆に視覚的に表示する物理的領域を決めておき、はみ出た部分をどのように 処理すべきか決めることができる。これを決めるのがoverflow特性 である。

overflow特性

ブロック内の要素が視覚表示的にはみ出る場合、それを 切り取るかどうかを決める。指定できる値は以下のどれか。

プログラムリストなど改行位置に意味を持つものは標準的なbody要素の 幅を超えることがある。overflow特性を用いてこれを制御する例を示す。

clip特性

ボックス全体のうち、指定した範囲のみを見せる場合には clip特性を利用する。

clip特性

ボックスの持つ本来の表示域を基準として、さらに そのどの範囲を表示するか決める。ただし、position特性値に absolute を持つ要素のみに適用される。指定できる値は auto と 「範囲形状表現」 であり、範囲を 限定したい場合は後者を指定する。現状では表現として 長方形範囲を決める rect() のみが規定されている。 rectは、

rect(U, R, B, L)

のような4つの長さを指定する。それぞれの値の意味は見える部分 の長方形の、上辺、右辺、下辺、左辺 の位置で、

で指定する。たとえば、

nintaro-full

のような画像に対して、

img {position: absolute; clip: rect(50px ,200px ,130px ,35px);}

というCSSを指定すると

nintaro-full

となる。ただし、現状ではclip特性の文法やそれに対する挙動が ユーザエージェントによってまちまちであるためCSSの段階で 指定することはあまり得策でない。

yuuji@koeki-u.ac.jp