ZeroPlus Gateについて

\ シェア /

FacBook
Twitter
LINE
はてブ
PPocket
ZeroPlus Media > Web制作 > HTML/CSS > 【HTML】背景画像を表示する方法とimgタグとbackgroundの使い分けについて解説

【HTML】背景画像を表示する方法とimgタグとbackgroundの使い分けについて解説

HTML/CSS

2024/01/30

2024/02/02

HTML背景画像記事サムネイル

この記事では、「背景画像を表示する方法とimgタグとbackgroundの使い分け」について解説します。

背景画像を設定する方法としては、

  • backgroundプロパティ(CSS)を使う方法
  • imgタグ(HTML)を使う方法
  • background属性を使う方法(非推奨)

があります。

状況にあった方法で背景画像を設定しましょう。

この記事で身につく内容
  • imgタグとbackgroundプロパティの使い分けがわかる
  • background属性の使い方がわかる

ZeroPlus Gateについて

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

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

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

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

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

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

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

今すぐZeroPlus Gateの詳細を見る

 

CSSで背景画像を表示する方法

CSSで背景画像を表示するには、以下のように指定します。

<body>
  <div class="l-container">
    <div class="p-fv">
      <h1 class="p-fv__copy">キャッチコピー</h1>
    </div>
  </div>
</body>
.p-fv {
  width: 100%;
  height: 800px;

  /* 背景画像を表示 */
  background-image: url(dummy.png);

  position: relative;
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  display: flex;
  align-items: center;
  justify-content: center;
  padding-left: 28px;
  padding-right: 28px;
}

.p-fv::before {
  content: "";
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, .5);
  position: absolute;
  top: 0;
  left: 0;
}

.p-fv__copy {
  position: relative;
  z-index: 10;
  color: #fff;
  display: flex;
  align-items: center;
  font-size: 56px;
  font-weight: bold;
}

表示結果

CSSで背景画像設定

CSSでは、以下のプロパティで背景画像に対して、位置・サイズ、繰り返し表示の有無などを設定することができます。

background-repeat: no-repeat; /* 背景画像を繰り返し表示させない */
background-size: cover; /* 背景画像を全画面表示 */
background-position: center; /* 背景画像の表示位置を中央に */

CSSで背景画像を表示する詳しいやり方は、以下の記事で解説しています。

 

imgタグで背景画像を表示する場合

HTMLのimgタグを使って背景画像として表示することもできます。

以下のコードを見てみましょう。

  <div class="l-container">
    <div class="p-fv">
      <div class="p-fv__img">
        <img src="dummy.png" alt="メイン画像" width="1000" height="800">
      </div>
      <h1 class="p-fv__copy">キャッチコピー</h1>
    </div>
  </div>
.p-fv {
  width: 100%;
  height: 800px;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  padding-left: 28px;
  padding-right: 28px;
}

.p-fv::before {
  content: "";
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, .5);
  position: absolute;
  top: 0;
  left: 0;
}

.p-fv__copy {
  position: relative;
  z-index: 10;
  color: #fff;
  display: flex;
  align-items: center;
  font-size: 56px;
  font-weight: bold;
}

.p-fv__img {
  width: 100%;
  height: inherit;
  position: absolute;
  z-index: -1;
  top: 0;
  left: 0;
}

.p-fv__img img {
  height: 100%;
  object-fit: cover;
}

表示結果

imgタグで背景画像設定

基本的には背景画像はCSSで表示するのが一般的ですが、上記のようにimgタグを背景画像として表示することができます。

imgタグで背景画像として設定するケースとして、例えばWordPressの管理画面から背景画像を自由に設定したい場合があります。

WordPressのカスタムフィールドという機能を使用して、画像のパスの部分にWordPressのテンプレートタグを埋め込んで、管理画面から画像を変更できるようにすることができます。

CSSの場合は管理画面からの画像変更ができないため、WordPressの管理画面から背景画像を変更したい場合はimgタグで背景を設定するといいでしょう。

 

imgタグとbackgroudプロパティ(CSS)の使い分け

背景画像、アイコン・コンテンツの画像など、それぞれimgタグとCSSのbackgroundプロパティのどちらで記述するべきか悩むことがあると思います。

どのように使い分けるか、以下のように考えるといいでしょう。

  • imgタグ:文章やサイトの内容的に、必要不可欠な画像
  • backgroundプロパティ:装飾目的に使用する画像

 

文章の内容的に必要不可欠な画像はimgタグ

imgタグは、altタグを使って代替テキストを記述するので、文章やサイトに必要な画像を指定するときに使います。

<img src="dummy.png" alt="代替テキスト" width="1000" height="800">

例えば、駅からお店までの道を伝えるときは、文章だけでなくマップの画像がないと場所のイメージができません。この場合、マップの画像はサイトの情報として必要な画像なので、imgタグで表示させます。

 

装飾目的に使用する画像はbackgroundプロパティ

backgroundプロパティでは、装飾的に使う画像を指定します。

装飾目的の画像とは具体的には、次のような画像です。

  • 背景画像:背景がなくてもサイトの情報に影響はない
  • テキストの脇にあるアイコン画像:アイコン画像がなくてもサイトの情報に影響はない

背景画像もテキストの脇にあるアイコン画像も、仮になかったとしても情報として不足はないため、必須の画像とはいえません。そのため、これらの画像はbackgroundプロパティで指定しても問題ないでしょう。

ただし「WordPressで管理画面から背景画像やアイコンなどを動的に変更したい」という場合には、前述したimgタグで記述する必要があります。

 

HTMLのbackground属性で背景画像を表示する方法(非推奨)

HTMLのみで背景に画像を表示する方法として、background属性を使用する方法もあります。

下記のようにbodyタグにbackgroud属性を付与し、画像を指定します。

<body background=“背景画像のURL”>

~

</body>

例えば以下のように指定できます。

<!-- bodyタグにbackground属性 -->
<body background="dummy-mini.png">
  <div class="l-container">
    <div class="p-fv">
      <h1 class="p-fv__copy">キャッチコピー</h1>
    </div>
  </div>
</body>
.p-fv {
  width: 100%;
  height: 800px;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  padding-left: 28px;
  padding-right: 28px;
}

.p-fv::before {
  content: "";
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, .5);
  position: absolute;
  top: 0;
  left: 0;
}

.p-fv__copy {
  position: relative;
  z-index: 10;
  color: #fff;
  display: flex;
  align-items: center;
  font-size: 56px;
  font-weight: bold;
}

表示結果background属性で設定した画像

このように、HTMLで背景画像を表示することができます。

ただし、この方法では指定した画像が全方向に繰り返し表示されてしまいます。さらに、背景画像の位置やサイズを変更したい場合、backgroud属性で指定すると柔軟に対応することが難しくなります。

また、backgroud属性は2024年現在、非推奨になりました。

HTML属性リファレンス
出典:HTML属性リファレンス

1枚の画像で表示させたい場合は、CSSで背景画像を表示するようにしましょう。

 

まとめ:background属性は非推奨

HTMLで画像を表示する方法について解説しました。背景画像を設定する場合は、CSSで指定するほうが柔軟に対応することができます。background属性は非推奨なので、使用しないようにしましょう。

普段見かけないようなタグやプロパティを見たら、それが現在使用できるのか、試用中のものなのか、廃止されたものなのか、調べてみると今後の制作で役に立ちます。

背景画像の設定まとめ

  • background属性:bodyタグに付与して使用する。非推奨。
  • backgroundプロパティ:CSSで背景画像を設定できるプロパティ。装飾目的の画像に使用する。
  • imgタグ:背景画像として使用することもできる。Webサイトの情報に必要不可欠な画像で使用する。
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

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

詳しくはこちらから