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

background-position”プロパティ:背景画像の表示位置

記事Aug. 29th,2018
July 7th,2020
背景画像の表示位置を指定するプロパティ
この記事はCSS3に対応しています。
この記事はCSS3に対応しています。

プロパティについて

概要

初期値 background-position: 0% 0%;
適用対象 すべての要素
継承 No
パーセント値 本文参照
計算値 <length-percentage>”値の算出された値で表された左上からの水平と垂直方向のオフセット距離をアイテムとするリスト
アニメーション 繰り返し可能なリスト

background-position”プロパティはbackground-image”プロパティで指定された背景画像の表示位置を指定するプロパティです。

既定ではその要素のパディング・ボックスが背景画像の表示位置の基準となりますが、background-origin”プロパティによって変更することができます。

サンプルコード

div { background-position: center;}

説明
<bg-position>”値
left 左に寄せて背景画像を表示 (水平方向の位置を“0%”と指定した場合と同じです。)
center 中央に寄せて背景画像を表示 (“50%”と指定した場合と同じです。)
right 右に寄せて背景画像を表示 (水平方向の位置を“100%”と指定した場合と同じです。)
top 上に寄せて背景画像を表示 (垂直方向の位置を“0%”と指定した場合と同じです。)
bottom 下に寄せて背景画像を表示 (垂直方向の位置を“100%”と指定した場合と同じです。)
<length> px”、“em”などで座標を指定
<percentage> 要素のパディング・ボックスの横幅、高さに対する割合で座標を指定
他の値
共通キーワード

値の指定方法

<bg-position>”値は“left”、“center”、“right”、“top”、“bottom”と<length-percentage>”値を1個から4個組み合わせて位置を表します。

値を1つ指定する場合

値が“left”または“right”の場合、その値は水平方向の表示位置を指定します。垂直方向の表示位置は“center”とみなされます。

左端、上下中央に配置
background-position: left;

右端、上下中央に配置
background-position: right;

値が“top”または“bottom”の場合、その値は垂直方向の表示位置を指定します。水平方向の表示位置は“center”とみなされます。

上端、左右中央に配置
background-position: top;

下端、左右中央に配置
background-position: bottom;

値が“center”の場合は水平方向と垂直方向の両方の表示位置を指定します。

中央に配置
background-position: center;

値を<length-percentage>”値で指定した場合はその値は水平方向の表示位置を指定します。垂直方向の表示位置は“center”となり、要素の中央に寄せて表示されます。

上下中央、水平方向には左端から指定した距離に配置
background-position: 〚水平方向の“<length-percentage>”値〛;

値を2つ指定する場合

値を2つ指定する場合には一方の値が水平方向の表示位置、もう一方の値が垂直方向の表示位置を指定します。どちらの値がどの方向に対応するかは値の組み合わせによって異なります。

垂直方向の位置と水平方向の位置
background-position: 〚水平方向の表示位置〛 〚垂直方向の表示位置〛;

水平方向の位置と垂直方向の位置
background-position: 〚垂直方向の表示位置〛 〚水平方向の表示位置〛;

一つ目の値が“left”もしくは“right”の場合、1つ目の値は水平方向の表示位置を表し、2つ目の値は垂直方向の表示位置を表します。2つ目の値には“top”、“bottom”、“center”、もしくは<length-percentage>”値を指定できます。

左端、垂直方向には上端から指定した距離に配置
background-position: left 〚垂直方向の“<length-percentage>”値〛;

右端、垂直方向には上端から指定した距離に配置
background-position: right 〚垂直方向の“<length-percentage>”値〛;

一つ目の値が“top”もしくは“bottom”の場合、1つ目の値は垂直方向の表示位置を表し、2つ目の値は水平方向の表示位置を表します。2つ目の値には“left”、“right”、“center”、もしくは<length-percentage>”値を指定できます。

上端、水平方向には左端から指定した距離に配置
background-position: top 〚水平方向の“<length-percentage>”値〛;

下端、水平方向には左端から指定した距離に配置
background-position: bottom 〚水平方向の“<length-percentage>”値〛;

一つ目の値が“center”の場合には二つ目の値に“top”、“bottom”、“left”、“right”、“center”、<length-percentage>”値のいずれも指定できます。

二つ目の値が“top”もしくは“bottom”の場合は“center”は水平方向の表示位置、二つ目の値が垂直方向の表示位置を表します。

二つ目の値が“left”、“right、“center”、もしくは<length-percentage>”値の場合は“center”は垂直方向の表示位置、二つ目の値が水平方向の表示位置を表します。

垂直方向の位置と水平方向の位置
background-position: center 〚水平方向の“<length-percentage>”値〛;

水平方向の位置と垂直方向の位置
background-position: center 〚垂直方向の“<length-percentage>”値〛;

一つ目の値が<length-percentage>”値の場合にも二つ目の値に“top”、“bottom”、“left”、“right”、“center”、<length-percentage>”値のいずれも指定できます。

二つ目の値が“top”もしくは“bottom”、もしくは<length-percentage>”値の場合は一つ目の値は水平方向の表示位置、二つ目の値が垂直方向の表示位置を表します。

二つ目の値が“left”、“right、“center”の場合は一つ目の値は垂直方向の表示位置、二つ目の値が水平方向の表示位置を表します。

垂直方向の位置と水平方向の位置
background-position: 〚“<length-percentage>”値〛 〚“left”、“right”もしくは“center”〛;

水平方向の位置と垂直方向の位置
background-position: 〚“<length-percentage>”値〛 〚“top”、“left”もしくは“center”〛;

値を3つ、もしくは4つ指定する場合

top”もしくは“bottom”、“left”もしくは“right”に<length-percentage>”値を組み合わせるとキーワード値からのオフセット距離を指定することができます。

<length-percentage>”値は、正の値はキーワード値で指定した端から内側へ向けての距離、負の値はキーワード値で指定した端から外側へ向けての距離を表します。

値が3つの場合、そのうち2つの値はキーワード値とオフセット距離の組、残り1つの値は最初の値の組が表さない方向のキーワード値です。

top”もしくは“bottom”と<length-percentage>”値を組わせた場合、残り一つの値は“left”、“right”もしくは“center”です。

left”もしくは“right”と<length-percentage>”値を組わせた場合、残り一つの値は“top”、“bottom”もしくは“center”です。

左端もしくは右端から指定した距離と垂直方向の位置
background-position: 〚“left”もしくは“right”〛 〚“<length-percentage>”値〛 〚“top”、“bottom”もしくは“center”〛;

水平方向の位置と上端もしくは下端から指定した距離
background-position: 〚“left”、“right”もしくは“center”〛 〚“top”もしくは“bottom”〛 〚“<length-percentage>”値〛;

垂直方向の位置と左端もしくは右端から指定した距離
background-position: 〚“top”、“bottom”もしくは“center”〛 〚“left”もしくは“right”〛 〚“<length-percentage>”値〛;

上端もしくは下端から指定した距離と垂直方向の位置
background-position: 〚“top”もしくは“bottom”〛 〚“<length-percentage>”値〛 〚“left”、“right”もしくは“center”〛;

値が4つの場合、キーワード値とオフセット距離の組が2組です。

1組は垂直方向の表示位置を表す“top”もしくは“bottom”と<length-percentage>”値の組み合わせ、もう1組は水平方向の表示位置を表す“left”もしくは“right”と<length-percentage>”値の組み合わせを指定します。

垂直方向の位置と水平方向の位置
background-position: 〚“top”もしくは“bottom”〛 〚“<length-percentage>”値〛 〚“left”もしくは“right”〛 〚“<length-percentage>”値〛;

水平方向の位置と垂直方向の位置
background-position: 〚“left”もしくは“right”〛 〚“<length-percentage>”値〛 〚“top”もしくは“bottom”〛 〚“<length-percentage>”値〛;

値は入れ替えることができますが、オフセット距離はその基準となるキーワード値の次の値として記述する必要があります。

複数の背景画像がある場合

background-image”プロパティで複数の背景画像が指定されている場合、値のセットをコンマ(“,”)で区切って記述することでそれぞれの背景画像の表示位置を指定することができます。値の順番はbackground-image”プロパティで指定した値の順番に対応します。

div {
background-image: url(sample/background_sample.png), url(background_sample2.png);
background-repeat: no-repeat, no-repeat;
background-position: 10% 20%, bottom 50px right 25px;
}

表示位置の基準となる座標

キーワード値で指定する場合

値が“left”の場合は背景画像の左端が要素のパディングの左端に、“right”の場合は背景画像の右端が要素のパディングの右端に合わせて表示されます。

“background-position:”が“right”の時の表示位置

値が“top”の場合は背景画像の上端が要素のパディングの上端に、“bottom”の場合は背景画像の下端が要素のパディングの下端に合わせて表示されます。

“background-position:”が“bottom”の時の表示位置

値が“center”の場合は背景画像の中央が要素の中央に合わせて表示されます。

“background-position:”が“center”の時の表示位置

<length>”値で指定する場合

値を<length>”値で指定する場合、要素のパディングの左上を原点として背景画像の左上の座標で表示位置を指定します。

“background-position:”を長さで指定した時の表示位置

<percentage>”値で指定する場合

値を<percentage>”値で指定する場合、要素のパディングの左上を原点として要素のパディングの大きさに対する割合で背景画像の位置を指定します。この時、背景画像内の基準点も背景画像の左上から背景画像の大きさに対する割合で決まります。

“background-position:”をパーセントで指定した時の表示位置

右もしくは下を基準にして指定する

right”もしくは“bottom”に<length>”値もしくは<percentage>”値のオフセット距離を組み合わせると、右もしくは下を基準にして背景画像の位置を指定することができます。

background-position: bottom 150px right 100px;
background-position: right 100px bottom 150px;
“background-position:”を右下から指定した時の表示位置

仕様書

定義されている仕様書
Level 1 Level 2 Level 3
勧告(REC) 勧告(REC) 勧告候補(CR)
background-position
定義あり

定義あり

定義あり
Level 1 Level 2 Level 3
勧告(REC) 勧告(REC) 勧告候補(CR)
<percentage>
定義あり

定義あり

定義あり
<length>
定義あり

定義あり

定義あり
top
定義あり

定義あり

定義あり
center
定義あり

定義あり

定義あり
bottom
定義あり

定義あり

定義あり
left
定義あり

定義あり

定義あり
right
定義あり

定義あり

定義あり

使用例

キーワード値で指定する

div {
background-repeat: no-repeat;
background-position: center;
}
div {
background-repeat: no-repeat;
background-position: right;
}
div {
background-repeat: no-repeat;
background-position: bottom;
}
div {
background-repeat: no-repeat;
background-position: bottom right;
}

<length>”値で指定する

div {
background-repeat: no-repeat;
background-position: 75px;
}
div {
background-repeat: no-repeat;
background-position: 25px 75px;
}

<percentage>”値で指定する

div {
background-repeat: no-repeat;
background-position: 25%;
}
div {
background-repeat: no-repeat;
background-position: 45% 80%;
}

右や下からの座標で指定する

div {
background-repeat: no-repeat;
background-position: bottom 50px right 25px;
}
div {
background-repeat: no-repeat;
background-position: bottom 50px left 25px;
}

複数の背景画像を指定する

div {
background-image: url(sample/background_sample.png), url(background_sample2.png);
background-repeat: no-repeat, no-repeat;
background-position: 10% 20%, 30% 40%;
}
一番上へ
トップにもどる
シェアする
シェアする
Facebookでシェアする
ツイート
Google+でシェア
Pocket
はてなブックマーク