ZeroPlus Gateについて

\ シェア /

FacBook
Twitter
LINE
はてブ
PPocket
ZeroPlus Media > Web制作 > HTML/CSS > 【CSS】background-sizeで背景画像のサイズを設定する方法を解説

【CSS】background-sizeで背景画像のサイズを設定する方法を解説

HTML/CSS

2022/08/22

2024/01/10

background size記事サムネイル

Web制作では、背景に画像を使用することが多くあります。そのようなとき、背景画像のサイズを変更することでデザインの幅が広がります。

背景画像を任意のサイズに指定するには、background-sizeプロパティを使用します。

この記事では、background-sizeプロパティの使い方を解説します。サンプルコードと出力結果を表示しながら解説していくので、学習にお役立てください。

この記事で身につく内容
  • background-imageで背景画像を指定する
  • background-sizeで指定できる値
  • background-sizeの使い方
  • background-sizeに関連するプロパティ

ZeroPlus Gateについて

プログラミング学習でこのような経験はありませんか?

  1. 目標に向けて何を学べば良いかわからない
  2. 調べても解決策が見つからない
  3. 現場レベルのスキルが身につくのか不安

これらの悩みは、学習環境を整えることで全て解決することができます。

ZeroPlus Gateでは、30日間無料で最適な学習環境を提供しています。

  1. なんでも相談できる専属メンター
  2. いつでも技術相談ができるプロ講師
  3. 元IT企業CTO監修のカリキュラム

条件なしでこのレベルの環境を無料で提供しているのはZeroPlus Gateだけです。
ただし、無料サービスの提供には参加者の数に制限があります。

少しでも興味がある方は、以下のリンクからサービスの詳細をご覧ください。

今すぐZeroPlus Gateの詳細を見る

background-imageで背景画像を指定する

背景画像を指定するには、background-imageプロパティを使用します。記述は以下のとおりです。

 

基本書式

 <div class="bg"></div>
.bg{
    background-image: url(..//img/草原の写真.jpg);
}

background-imageプロパティを使用すれば、背景画像のスタイルを効果的に変更できます。

background-imageプロパティの使い方はこちらの記事で詳しく解説しています。併せてお読みください。

ZeroPlusgate50教材の動画

background-sizeで指定できる値

背景画像の大きさを指定するには、background-sizeプロパティを使用します。

background-sizeに指定できる値は以下のとおりです。

指定できる値

値の意味

auto元の画像の大きさで表示する
contain

元画像の縦横比のまま、要素内に元画像がすべて収まる

要素の高さが画像の高さより大きい場合、繰り返し表示される

cover元画像の縦横比のまま、要素内で可能な限り大きくする
数値+単位任意の数値と単位で表示する
%指定要素内の%比率で指定する

ZeroPlusgate50教材の動画

background-sizeの使い方

auto

background-size: auto;は、背景画像を元の大きさのまま表示する指定です。

要素の大きさよりも画像が小さい場合、要素全体に画像が繰り返し表示されます。例えば640px×360pxの画像を1000px × 1000pxの要素内に表示すると、以下のようになります。

.bg {
    background-image: url(..//img/草原の写真.jpg);
    background-size: auto;
    height: 1000px;
    width: 1000px;
}

background-size: auto;の表示画面

要素内で画像が繰り返し表示されています。

contain

background-size: contain;は、背景画像を要素の幅いっぱいに表示する指定です。要素の高さが画像よりも大きいとき、画像を要素内に繰り返し表示します。

出力結果を確認してみましょう。

.bg {
    background-image: url(..//img/草原の写真.jpg);
    background-size: contain;
    height: 1000px;
    width: 1000px;
}

background-size: contain;の表示画面

cover

background-size: cover;は、要素の横幅・高さに合わせて背景画像を引き伸ばしたり、切り取ったりする指定です。

要素の大きさが画像より大きい場合は、要素の大きさに合わせて画像が引き延ばされます。一方、要素の横幅・高さが画像より小さい場合は、画像の余った部分が切り取られます。

 

要素が画像よりも大きい場合

.bg {
    background-image: url(..//img/草原の写真.jpg);
    background-size: cover;
    height: 1000px;
    width: 1000px;
}

background-size: cover;で要素が大きいときの表示画面

 

要素が画像よりも小さい場合

.bg {
    background-image: url(..//img/草原の写真.jpg);
    background-size: cover;
    height: 300px;
    width: 300px;
}

background-size: contain;で要素が小さいときの表示画面

数値+単位

background-sizeでは、任意の数値と単位で背景画像の大きさを指定できます。使用できる単位はpx、em、remなどです。

.bg {
    background-image: url(..//img/草原の写真.jpg);
    background-size: 300px;
    height: 1000px;
    width: 1000px;
}

background-sizeで数値とpxで指定したときの表示

%指定

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:100%;の表示結果

background-size: 75%;

.bg {
    background-image: url(..//img/草原の写真.jpg);
    background-size: 75%;
    height: 360px;
    width: 640px;
}

background-size: 75%;の表示結果

background-size: 50%;

.bg {
    background-image: url(..//img/草原の写真.jpg);
    background-size: 50%;
    height: 360px;
    width: 640px;
}

background-size: 50%;の表示結果

background-size: 25%;

.bg {
    background-image: url(..//img/草原の写真.jpg);
    background-size: 25%;
    height: 360px;
    width: 640px;
}

background-size: 25%;

横幅と高さを個別に指定

background-sizeに複数の値を記述すると、先に記述した値が横幅、後に記述した値が高さの指定となります。

background-size:20%/*横幅の値*/ 70%/*高さの値*/;

ZeroPlusgate50教材の動画

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で指定した背景画像のサイズを変更できる
  • autocontaincover、数値 + 単位、%指定が可能
  • 要素が画像よりも大きい場合は画像を繰り返し表示する
  • 画像の繰り返しをキャンセルするにはbackground-repeat: no-repeat;を指定する
  • 要素自体に高さがないと背景画像が表示されない

背景画像のサイズを思い通りに変更できれば、デザインの幅が広がります。ぜひbackground-sizeを使いこなせるようになりましょう。

ZeroPlus Gateについて

プログラミング学習でこのような経験はありませんか?

  1. 目標に向けて何を学べば良いかわからない
  2. 調べても解決策が見つからない
  3. 現場レベルのスキルが身につくのか不安

これらの悩みは、学習環境を整えることで全て解決することができます。

ZeroPlus Gateでは、30日間無料で最適な学習環境を提供しています。

  1. なんでも相談できる専属メンター
  2. いつでも技術相談ができるプロ講師
  3. 元IT企業CTO監修のカリキュラム

条件なしでこのレベルの環境を無料で提供しているのはZeroPlus Gateだけです。
ただし、無料サービスの提供には参加者の数に制限があります。

少しでも興味がある方は、以下のリンクからサービスの詳細をご覧ください。

今すぐZeroPlus Gateの詳細を見る

\ 学んだことをSNSでシェアしよう /

おすすめのタグ

この記事の執筆者

ZeroPlus Media変種部

ZeroPlus Media編集部

ZeroPlusは、「フリーランス特化型プログラミングスクール」です。ZeroPlus Mediaでは、フリーランスとして活躍する際に役立つ有益なプログラミングやWeb制作に関する情報を発信しています。

質問について

ZeroPlus Media読者限定で質問対応をおこなっています。以下の2つの方法で質問を受け付けています。

選べる2つの質問方法

1

Google Foam(テキスト)で質問

mail

フォーム送信

メールで解答

formで質問
2

Google meet(オンラインmtg)で質問

meet

日時選択

メールを受け取る

メールからmtgに参加

meetで質問
ZeroPlus Gateについて

あなたの目的に合わせた2つのサービス

あなたの目的に合わせたZeroPlusの2つのサービス
基礎からフリーランスレベルまで本質的な学びを提供しています

完全無料!30日間で学びきれる
プログラミンスクールZeroPlus Gate

  • お金をかけずに、学習を進めたい
  • Webサイトを作れるようになりたい
  • メンターや講師に質問しながら学習したい

詳しくはこちらから

フリーランス特化型
プログラミングスクール ZeroPlus

  • プログラミング学習で悩んでいる
  • 仲間と一緒に学習したい
  • フリーランスとしての総合的な力を養いたい

詳しくはこちらから