Section 10 : 枠(2)

 section 9 に続いて,枠について解説しよう。

枠の色

 border-color 属性は枠の色を指定する。すべての要素に適用され,継承はされない

border-color: (色;1 値から 4 値);

 繰り返し述べるが,1 値から 4 値まで指定できる色は枠のそれぞれの辺に与えることができる。既定値は,その要素の color 属性で指定された色になる。

 枠の色はここで指定された色になるのであるが,border-style 属性grooveridgeinsetoutset のときは指定された色を基調に描かれることになる。

<P STYLE="border-style: inset; border-color: #9C9;">border-style は inset になっています。</P>
<P STYLE="border-style: solid double; border-color: #009 #00F;">border-style は solid と double を指定しました。</P>

border-style は inset になっています。

border-style は solid と double を指定しました。

 IE4/5  border-color 属性は置換されていないインライン要素には適用されない。

 IE3  border-color 属性はサポートされていない。

 NN4  border-color 属性に 2 値以上を指定すると意図どおりにならないことがある。したがって,上の後者の例の枠の色は枠正しく表示されないことがある。

枠に関する短縮属性

 border-top-width,border-bottom-width,border-left-width,border-right-width の 4 つの属性の短縮属性として border-width 短縮属性があることを Section 9 で紹介したが,今まで見てきたように枠に関する属性はその数が多いので,短縮属性が用意されている。まずは,次の 4 つを見てみよう。

border-top: (枠の上辺の指定);
border-bottom: (枠の下辺の指定);
border-left: (枠の左辺の指定);
border-top: (枠の右辺の指定);

これら 4 つの短縮属性は枠のある一辺に限って枠の太さ・描き方・色を指定する。指定のしかたは順不同で,3 つの属性値をすべて与える必要はない。

 それぞれの値の与え方は border-width 4 属性border-style 属性border-color 属性に準ずるが,それぞれ 1 つの値のみ与えることができるということに注意していただきたい(2 値以上与えたのは辺の数が複数だからである)。

<P STYLE="border-bottom: ridge #9F9; border-right: thin solid #CCC;">枠に関する短縮属性には辺ごとにすべての属性を指定するものと属性をすべての辺について指定するものがあります。</P>
<P STYLE="border-width: thin; border-style: groove; border-color: #999; border-left: solid; color: green;">このような衝突ではどうなるでしょうか。</P>

枠に関する短縮属性には辺ごとにすべての属性を指定するものと属性をすべての辺について指定するものがあります。

このような衝突ではどうなるでしょうか。

 下の例はひじょうに複雑である。まずはじめの 3 つで枠の全辺を“細い・溝・灰色”にしているが,次に左辺に限って“実線”を指定している。このとき左辺について指定されていない太さと色はカスケーディングに従って“細い・灰色”になりそうだが“ふつう・緑”になっている。border-left 短縮属性は,指定されていない要素をすべて既定値に設定し直す。その結果,太さはふつう,色は次に設定された color 属性の値が使われて緑色になる。この結果カスケーディングがなされていないように見える。border-left が先に指定された場合,次の 3 つの属性が border-left の指定を上書きしてしまう。

 そして,枠に関するすべての指定をいっぺんに行うのが border 短縮属性である。

border: (枠に関する指定);

 この属性は先ほどの 4 つの短縮属性と同じ指定方法で枠の全辺について太さ・描き方・色を指定する。ただし,それぞれの属性については 1 つずつの値しか与えられず(1 値から 4 値という指定はできない),margin 短縮属性のように 4 辺を個別に指定することはできない。

 IE4/5  枠に関する短縮属性は置換されていないインライン要素には適用されない。

 IE3  枠に関する短縮属性はサポートされていない。

 NN4  border 短縮属性はサポートされているが,border-top などの個別の辺について指定する属性はサポートされていない。