このウェブサイトはご利用の端末での閲覧に対応していません。
This website does not support your device.

“CSS Backgrounds and Borders Module”

記事Aug.20th, 2021
CSS3で境界線と背景についての仕様を定義した“CSS Backgrounds and Borders Module”について。

仕様書の概要

概要

CSS Backgrounds and Borders Module”は境界線や背景についての機能について定義している仕様書です。

用語など

背景

それぞれのボックスは背景があります。既定では完全に透明で、背景色で塗りつぶしたり、1個以上の画像で覆ったりすることができます。背景画像がある場合、背景色はその下に塗られます。

背景は子孫ボックスへは継承されませんが、子孫ボックスの背景が透明な場合は子孫要素も同じ背景が塗られているように見えます。

複数の背景画像

ボックスの背景は複数のレイヤーとして重ね合わせることができます。レイヤーの数はbackground-image”プロパティのコンマ(“,”)区切りの背景画像を指定する値の数で決まります。

div {
background-image: 〚一番手前の背景画像〛,〚手前から2番目の背景画像〛,〚手前から3番目の背景画像〛,...,〚一番奥の背景画像〛;
background-repeat: 〚一番手前の背景画像〛,〚手前から2番目の背景画像〛,〚手前から3番目の背景画像〛,...,〚一番奥の背景画像〛;
background-attachment: 〚一番手前の背景画像〛,〚手前から2番目の背景画像〛,〚手前から3番目の背景画像〛,...,〚一番奥の背景画像〛;
background-position: 〚一番手前の背景画像〛,〚手前から2番目の背景画像〛,〚手前から3番目の背景画像〛,...,〚一番奥の背景画像〛;
background-clip: 〚一番手前の背景画像〛,〚手前から2番目の背景画像〛,〚手前から3番目の背景画像〛,...,〚一番奥の背景画像〛;
background-origin: 〚一番手前の背景画像〛,〚手前から2番目の背景画像〛,〚手前から3番目の背景画像〛,...,〚一番奥の背景画像〛;
background-size: 〚一番手前の背景画像〛,〚手前から2番目の背景画像〛,〚手前から3番目の背景画像〛,...,〚一番奥の背景画像〛;
}

背景画像の大きさや配置位置、配置方法は他の背景を指定するプロパティのコンマ(“,”)区切りの値のリストで指定され、それぞれのプロパティの値は記述された順にbackground-image”プロパティで指定された背景画像に対応します。記述された値の数が不足する場合には値のリストを繰り返すことで不足する値が補われます。

background-image”プロパティで指定された背景画像のうち最初に記述されたものが最も手前に描画され、2番目以降に記述されたものはその下に順に重ねられて描画されます。

特殊な要素の背景

文書が描画される領域である“キャンバス(Canvas)”はどの要素にも関連付けられていないので、キャンバスの背景にはルート要素、もしくはHTMLの場合はbody”要素のスタイルが使用されます。もしその要素のdisplay”プロパティの値が“hidden”である場合は、キャンバスは透明です。

キャンバスの背景が不透明でない場合はキャンバスの下にある“キャンバス・サーフェス(Canvas Surface)”が透けて表示されます。キャンバス・サーフェスの色はユーザー・エージェントによって異なりますが通常は白色です。

ルート要素の背景はキャンバスの背景になり、背景の描画領域はキャンバス全体に広がります。ただし、背景画像の大きさや配置位置はキャンバス全体ではなくルート要素が基準となります。キャンバスに塗られた背景はルート要素にもう一度塗られることはなく、ルート要素の背景の使用値transparentになります。

body”要素の背景

HTML文書、もしくはXHTML文書でルート要素であるhtml”要素background-image”プロパティ計算値が“none”であり、background-color”プロパティ計算値transparentである場合、その子要素である最初のbody”要素のこれらのプロパティの計算値html”要素のものとして扱われ、キャンバスの背景に反映されます。

::first-line”擬似要素の背景

::first-line”擬似要素は背景を描画する時にはインライン・レベルの要素であるかのように扱われます。

定義されているCSSルール

プロパティ

プロパティ 説明
background-color: 背景色を指定する
background-image: 背景画像を指定する
background-repeat: 背景画像の繰り返しを指定する
background-attachment: 背景画像を固定するかを指定する
background-position: 背景画像の表示位置を指定する
background-clip: 背景の描画領域を指定する
background-origin: 背景画像の配置領域を指定する
background-size: 背景画像の大きさを指定する
background: 背景を指定する
border-top-color: 上辺の境界線の色を指定する
border-right-color: 右辺の境界線の色を指定する
border-bottom-color: 下辺の境界線の色を指定する
border-left-color: 左辺の境界線の色を指定する
border-color: 境界線の色を指定する
border-top-style: 上辺の境界線の見た目を指定する
border-right-style: 右辺の境界線の見た目を指定する
border-bottom-style: 下辺の境界線の見た目を指定する
border-left-style: 左辺の境界線の見た目を指定する
border-style: 境界線の見た目を指定する
border-top-width: 上辺の境界線の太さを指定する
border-right-width: 右辺の境界線の太さを指定する
border-bottom-width: 下辺の境界線の太さを指定する
border-left-width: 左辺の境界線の太さを指定する
border-width: 境界線の太さを指定する
border-top: 上辺の境界線を指定する
border-right: 右辺の境界線を指定する
border-bottom: 下辺の境界線を指定する
border-left: 左辺の境界線を指定する
border: 境界線を指定する
border-top-left-radius: 左上の角丸を指定する
border-top-right-radius: 右上の角丸を指定する
border-bottom-right-radius: 右下の角丸を指定する
border-bottom-left-radius: 左下の角丸を指定する
border-radius: 角丸を指定する
border-image-source: 境界線として使用する画像を指定する
border-image-slice: 境界線として使用する画像の分割方法を指定する
border-image-width: 画像による境界線の太さを指定する
border-image-outset: 画像による境界線の配置領域の大きさを指定する
border-image-repeat: 画像による境界線の繰り返し方法を指定する
border-image: 画像による境界線を指定する
box-shadow: 要素の影を指定する
一番上へ
トップにもどる
シェアする
シェアする
Facebookでシェアする
ツイート
Google+でシェア
Pocket
はてなブックマーク