Web制作では、背景に画像を使用することが多くあります。そのようなとき、背景画像のサイズを変更することでデザインの幅が広がります。
背景画像を任意のサイズに指定するには、background-size
プロパティを使用します。
この記事では、background-size
プロパティの使い方を解説します。サンプルコードと出力結果を表示しながら解説していくので、学習にお役立てください。
background-image
で背景画像を指定する
background-size
で指定できる値
background-size
の使い方
background-size
に関連するプロパティ
プログラミング学習でこのような経験はありませんか?
- 目標に向けて何を学べば良いかわからない
- 調べても解決策が見つからない
- 現場レベルのスキルが身につくのか不安
これらの悩みは、学習環境を整えることで全て解決することができます。
ZeroPlus Gateでは、30日間無料で最適な学習環境を提供しています。
- なんでも相談できる専属メンター
- いつでも技術相談ができるプロ講師
- 元IT企業CTO監修のカリキュラム
条件なしでこのレベルの環境を無料で提供しているのはZeroPlus Gateだけです。
ただし、無料サービスの提供には参加者の数に制限があります。
少しでも興味がある方は、以下のリンクからサービスの詳細をご覧ください。
目次
background-imageで背景画像を指定する
背景画像を指定するには、background-image
プロパティを使用します。記述は以下のとおりです。
基本書式
<div class="bg"></div>
.bg{
background-image: url(..//img/草原の写真.jpg);
}
background-image
プロパティを使用すれば、背景画像のスタイルを効果的に変更できます。
background-image
プロパティの使い方はこちらの記事で詳しく解説しています。併せてお読みください。
background-sizeで指定できる値
背景画像の大きさを指定するには、background-size
プロパティを使用します。
background-size
に指定できる値は以下のとおりです。
指定できる値 | 値の意味 |
auto | 元の画像の大きさで表示する |
contain | 元画像の縦横比のまま、要素内に元画像がすべて収まる 要素の高さが画像の高さより大きい場合、繰り返し表示される |
cover | 元画像の縦横比のまま、要素内で可能な限り大きくする |
数値+単位 | 任意の数値と単位で表示する |
%指定 | 要素内の%比率で指定する |
background-sizeの使い方
auto
background-size: auto;
は、背景画像を元の大きさのまま表示する指定です。
要素の大きさよりも画像が小さい場合、要素全体に画像が繰り返し表示されます。例えば640px×360pxの画像を1000px × 1000pxの要素内に表示すると、以下のようになります。
.bg {
background-image: url(..//img/草原の写真.jpg);
background-size: auto;
height: 1000px;
width: 1000px;
}
要素内で画像が繰り返し表示されています。
contain
background-size: contain;
は、背景画像を要素の幅いっぱいに表示する指定です。要素の高さが画像よりも大きいとき、画像を要素内に繰り返し表示します。
出力結果を確認してみましょう。
.bg {
background-image: url(..//img/草原の写真.jpg);
background-size: contain;
height: 1000px;
width: 1000px;
}
cover
background-size: cover;
は、要素の横幅・高さに合わせて背景画像を引き伸ばしたり、切り取ったりする指定です。
要素の大きさが画像より大きい場合は、要素の大きさに合わせて画像が引き延ばされます。一方、要素の横幅・高さが画像より小さい場合は、画像の余った部分が切り取られます。
要素が画像よりも大きい場合
.bg {
background-image: url(..//img/草原の写真.jpg);
background-size: cover;
height: 1000px;
width: 1000px;
}
要素が画像よりも小さい場合
.bg {
background-image: url(..//img/草原の写真.jpg);
background-size: cover;
height: 300px;
width: 300px;
}
数値+単位
background-size
では、任意の数値と単位で背景画像の大きさを指定できます。使用できる単位はpx、em、remなどです。
.bg {
background-image: url(..//img/草原の写真.jpg);
background-size: 300px;
height: 1000px;
width: 1000px;
}
%指定
background-size
では、%比率で背景画像の大きさを指定できます。
background-size
の%指定は、「要素全体の横幅・高さに対しての割合」となります。例えばbackgrouns-size: 50%;
の場合は、要素全体の横幅の50%、高さの50%の範囲に画像が表示されます。
出力結果を確認してみましょう。
background-size: 100%;
.bg {
background-image: url(..//img/草原の写真.jpg)
background-size: 100%;
height: 360px;
width: 640px;
}
background-size: 75%;
.bg {
background-image: url(..//img/草原の写真.jpg);
background-size: 75%;
height: 360px;
width: 640px;
}
background-size: 50%;
.bg {
background-image: url(..//img/草原の写真.jpg);
background-size: 50%;
height: 360px;
width: 640px;
}
background-size: 25%;
.bg {
background-image: url(..//img/草原の写真.jpg);
background-size: 25%;
height: 360px;
width: 640px;
}
横幅と高さを個別に指定
background-size
に複数の値を記述すると、先に記述した値が横幅、後に記述した値が高さの指定となります。
background-size:20%/*横幅の値*/ 70%/*高さの値*/;
backgournd-sizeに関連するプロパティ
背景画像に関するプロパティは、background-size
のほかに以下の2つがあります。
background-position
background-repeat
background-position
背景画像の表示位置を調整したいときには、background-positon
プロパティを使用します。
background-position
プロパティに使用できる値は以下のとおりです。
指定できる値 | 値の意味 |
top | 要素の上端に表示 |
bottom | 要素の下端に表示 |
left | 要素の左端に表示 |
right | 要素の右端に表示 |
center | 要素の中央に表示 |
数値+pxで指定 | 要素の左上を起点に指定した数値とpx分の位置に表示 |
%指定 | 要素と画像それぞれの左上を起点に指定した%分の位置に表示 |
background-repeat
background-image
で指定した画像は、要素内を埋めるように繰り返し表示される性質を持ちます。この繰り返しを制御するには、background-repeat
プロパティを使用します。
background-repeat
プロパティに指定できる値は以下のとおりです。
指定できる値 | 値の意味 |
repeat(初期値) | 背景画像を繰り返し表示する |
no-repeat | 背景画像を繰り返さない |
repeat-x | 背景画像を横方向だけ繰り返して表示する |
repeat-y | 背景画像を縦方向だけ繰り返して表示する |
特に使用する機会が多いのはbackground-repeat: no-repeat;
です。背景画像を繰り返し表示しないときにはbackground-repeat: no-repeat;
を忘れずに指定しましょう。
背景画像が表示されないときの原因
backgournd-image
で背景画像を指定して、background-size
でサイズを指定しても画像が表示されないことがあります。
例えば、以下のような記述だと背景画像が表示されません。
.bg {
background-image: url(..//img/草原の写真.jpg);
background-size: 100%;
}
この記述で画像が表示されない原因は、要素自体に高さが指定されていないからです。background-image
は、あくまで「背景」に画像を表示するプロパティです。そのため、要素そのものに高さを設定しないと画像が表示されません。
背景画像を使用するときには、必ず要素そのものにheight
を指定しましょう。
まとめ
background-size
は背景画像のサイズを指定するプロパティです。
background-sizeまとめ
background-image
で指定した背景画像のサイズを変更できるauto
、contain
、cover
、数値 + 単位、%指定が可能- 要素が画像よりも大きい場合は画像を繰り返し表示する
- 画像の繰り返しをキャンセルするには
background-repeat: no-repeat;
を指定する - 要素自体に高さがないと背景画像が表示されない
背景画像のサイズを思い通りに変更できれば、デザインの幅が広がります。ぜひbackground-size
を使いこなせるようになりましょう。
プログラミング学習でこのような経験はありませんか?
- 目標に向けて何を学べば良いかわからない
- 調べても解決策が見つからない
- 現場レベルのスキルが身につくのか不安
これらの悩みは、学習環境を整えることで全て解決することができます。
ZeroPlus Gateでは、30日間無料で最適な学習環境を提供しています。
- なんでも相談できる専属メンター
- いつでも技術相談ができるプロ講師
- 元IT企業CTO監修のカリキュラム
条件なしでこのレベルの環境を無料で提供しているのはZeroPlus Gateだけです。
ただし、無料サービスの提供には参加者の数に制限があります。
少しでも興味がある方は、以下のリンクからサービスの詳細をご覧ください。