CSS では,ある種のボックスに対して,その寸法を明示的に指定することができる。ここでは,そのためのプロパティについて解説する。
width
プロパティ width
プロパティは,その名の示すとおり,要素のボックスの幅(正確には,ボックスの“要素の内容”の幅)を指定するものである。
width:
長さ;
width:
百分率;
width: auto;
このプロパティは,
auto
である。
ここで,置換要素について触れておくと,これは,要素の内容が外部に用意されたリソースによって置換されるものである。たとえば,画像(HTML では IMG
要素),アプレット,その他外部オブジェクト(プラグインによって生成される要素の内容,Flash ムービーなど)がこれにあたる。一般に,置換要素は,それ固有の寸法(幅・高さ)を持っていることが多い(たとえば,GIF,JPEG,PNG 画像は,画像固有の,“幅○○ピクセル・高さ○○ピクセル”という寸法を持っている)。
このプロパティの適用条件は複雑であるが,今のところは,ブロックボックスを生成する要素および画像などがその対象になると理解していただければよいだろう(一方で,インラインボックスを生成する非置換の要素,HTML における A
,Q
および EM
要素などにはこのプロパティは適用されないということである)。
さて,width
プロパティの値の与え方を詳しく見てみよう。
auto
の場合,margin-left
および margin-right
プロパティ,ならびに後述する left
および right
プロパティによって“要素の内容”の幅が決定される。
ここで,auto
を指定した場合の詳細は後述するとして,ここでは典型的な 2 つのケースについて auto
の挙動を理解していただきたい。
width
プロパティを使用した簡単な例を見ていただこう。以下の例では,パラグラフの幅を収容ボックスの半分に指定している。
H3 { border-bottom: thin solid #66C; }
P { width: 50%; }
<H3>Samba</H3>
<P>Samba は,Windows ネットワークの中で UNIX・Linux マシンをファイルサーバとして運用するさいになくてはならないサービスである。Samba は,その設定を工夫することで,ありがちな「Windows ネットワークが見えない!」というトラブルを防ぐのにも一役買う。</P>
Samba は,Windows ネットワークの中で UNIX・Linux マシンをファイルサーバとして運用するさいになくてはならないサービスである。Samba は,その設定を工夫することで,ありがちな「Windows ネットワークが見えない!」というトラブルを防ぐのにも一役買う。
width
プロパティが適用されるのは DIV
要素のみである。また,このブラウザでは,SPAN
要素にもこのプロパティが適用されてしまう。
height
プロパティ 一方,height
プロパティは,“要素の内容”の高さを指定するプロパティである。
height:
長さ;
height:
百分率;
height: auto;
このプロパティは,
auto
である。
height
プロパティの値の与え方は次のようになる。
auto
と解される。
auto
の場合,margin-top
および margin-bottom
プロパティ,ならびに後述する top
および bottom
プロパティによって“要素の内容”の高さが決定される。
このプロパティについても,auto
を指定した場合の詳細は後述するが,典型的な 2 つのケースについて auto
の挙動を示しておくことにしよう。
また,height
プロパティによってボックスの高さを明示的に指定して,その中に入るべき内容がボックスに収まりきらない場合,後述する overflow
プロパティによって出力のされ方が異なる。なお,既定の場合,ボックスの“要素の内容”に入るべき内容は,ボックスの外にはみ出して出力される。
height
プロパティを用いた例を示しておこう。
H3 { border-bottom: thin solid #66C; }
P { height: 4em; background: #99C; padding: 0.2em; }
HTML は先ほどと同じものを使用しよう。
Samba は,Windows ネットワークの中で UNIX・Linux マシンをファイルサーバとして運用するさいになくてはならないサービスである。Samba は,その設定を工夫することで,ありがちな「Windows ネットワークが見えない!」というトラブルを防ぐのにも一役買う。
ブラウザのウィンドウ幅を調整し,ボックスの大きさを確認してみよう。
CSS1 では,height
プロパティには長さまたはキーワード auto
を与え,百分率を与えることはできない。
height
プロパティが適用されるのは DIV
要素のみである。また,このブラウザでは,SPAN
要素にもこのプロパティが適用されてしまう。