【CSS】レッスン3-6:背景画像を設定しよう

ながみえ

一つ前の章では画像のスタイルを変更する方法について学習しました。

今回は背景画像の設定方法について見ていきましょう。

Lesson1:HTML入門編
Lesson2:CSS入門編

Lesson3:CSS応用編
 ・Lesson3-1:ボックス配置の基礎を理解しよう
 ・Lesson3-2:ボックスサイズを変更しよう
 ・Lesson3-3:ボックスを自在に配置しよう
 ・Lesson3-4:画像を自在に配置しよう
 ・Lesson3-5:画像のスタイルを変更しよう
 ・Lesson3-6:背景画像を設定しよう ◁今回はココ
 ・Lesson3-7:リンクボタンを設置しよう
 ・Lesson3-8:リストとテーブルのスタイルを変更しよう
 ・Lesson3-9:CSS変数を理解しよう
 ・Lesson3-☆1:コピペして使える!カードレイアウト集
 ・Lesson3-☆2:HTML/CSSテンプレート6選
 ・Lesson3-☆3:CSSのリセット&ノーマライズとは?

Webページのデザインをより魅力的にするためには、文字やレイアウトだけでなく、視覚的な要素も重要です。

その中でも「背景画像」は、ページ全体の雰囲気や印象を大きく左右する効果的なデザイン手法のひとつです。

このレッスンでは、CSSを使って背景画像を簡単に設定する方法を学び、サイズや位置を調整して思い通りのデザインを作成するテクニックを身につけましょう。

<<前のページ

HTML/CSSの記事一覧

HTML/CSS学習カテゴリの親ページ用アイキャッチ画像(Webサイト制作入門)、記事一覧へのリンク案内

次のページ>>

背景画像とは

背景画像とはWebページの背景部分に配置される画像のことです。

通常、テキストやコンテンツの背後に表示され、ページ全体のデザインや雰囲気を引き立てる役割を果たします。

例えば風景の写真を背景にすることで、自然を感じさせるデザインにしたり、グラデーション画像を使うことで、シンプルながらもスタイリッシュな印象を与えることができます。

HTML/CSSの用語集 も活用しながら、学習を進めましょう。

【CSS】勉強猫がノートパソコンを前にして学習を始める様子。記事内の学習スタート用イラスト

背景画像は単なる装飾だけでなく、Webサイトのブランドイメージやメッセージを視覚的に伝える重要な要素です。

たとえばカフェのホームページならコーヒーの写真、旅行サイトなら美しい風景画像を背景に使用することで、訪問者に強い印象を残すことができます。

このレッスンではCSSを使用して背景画像を設定し、効果的にページデザインを向上させる方法を詳しく学んでいきます。

背景画像の基本設定

背景画像はCSSの background-image プロパティを使用することで簡単に設定できます。

このプロパティを使うことで、任意の画像をWebページの背景として表示することが可能です。

背景画像を設定する基本構文は以下の通りです。

selector {
  background-image: url('画像のパス');
}
  • selector: CSSで指定する要素(例:bodydivなど)。
  • url('画像のパス'): 表示したい画像の場所を指定します。画像ファイルは、相対パスまたは絶対パスで指定できます。

ページ全体に背景画像を設定する

以下のHTMLコードをコピーし、適切な画像のパスを指定してブラウザ表示してみてください。

<!DOCTYPE html>
<html lang="ja">
<head>
  <meta charset="UTF-8">
  <title>背景画像の基本設定</title>
  <style>
    body {
      background-image: url('background.jpg'); /* 背景画像の指定 */
    }
  </style>
</head>
<body>
  <h1>背景画像のサンプル</h1>
  <p>このページは背景画像が設定されています。</p>
</body>
</html>
  • <style>タグの中で、CSSを直接記述しています。
  • bodyタグに対してbackground-imageプロパティを指定しているため、ページ全体の背景に画像が表示されます。
  • url('background.jpg')は、HTMLファイルと同じフォルダに保存された「background.jpg」という画像ファイルを参照しています。

背景画像のサイズ調整

背景画像を設定しただけでは、画像のサイズが意図した通りに表示されない場合があります。

画像が大きすぎたり、小さすぎたりして、デザインが崩れてしまうこともあります。

この問題を解決するために使用するのが、background-size プロパティです。

background-size プロパティの基本

background-size プロパティは、背景画像の表示サイズを調整するためのプロパティです。

このプロパティを使うことで、画像を拡大・縮小したり、特定のサイズにフィットさせたりすることができます。

基本構文は以下の通りです。

selector {
  background-image: url('画像のパス');
  background-size: 値;
}
  • selector: CSSのセレクタ(例: body, div など)
  • : サイズを指定する値(例: cover, contain, 100px 200px, 50% 50%など)

値の部分には具体的な数値のほかに、coverやcontainといった指定ができます。

covercontain の違い

  • cover: 背景画像が要素全体を覆うように拡大または縮小されます。画像の一部がはみ出すことがありますが、余白はできません。
  • contain: 背景画像が要素の中に完全に収まるように表示されます。画像全体が表示されますが、余白ができる場合があります。
コードを書いてみよう

先ほどのHTMLコードにbackground-sizeを追記し、4種類の方法で背景画像を表示してみましょう。

なお、cover以外の指定をする際に、繰り返し表示をしない場合は「background-repeat: no-repeat;」を追記すると1枚だけの表示となります。

【CSS】勉強猫がノートパソコンを見ながら考え込む様子。記事内の休憩用イラスト

背景画像の位置調整

背景画像を設定した後、画像の表示位置を細かく調整したい場合にはbackground-position プロパティを使用します。

このプロパティを使うことで、背景画像を中央、上部、下部、左右など、自由に配置することができます。

background-position プロパティの基本

background-position プロパティの基本構文は以下の通りです。

selector {
  background-image: url('画像のパス');
  background-position: 値;
}
  • selector: CSSのセレクタ(例: body, div など)。
  • : 画像の配置場所(例: center, top, right, bottom, left など)。

位置のキーワード指定

background-position では、以下のキーワードを使用して画像の配置を指定できます。

  • center:中央に配置(デフォルト設定)
  • top:上寄せ
  • bottom:下寄せ
  • left:左寄せ
  • right:右寄せ

background-size と併用した配置

background-size で画像のサイズを調整した場合、background-position を組み合わせることでさらに細かなデザインが可能になります。

以下のCSSコードをbodyに読み込んでみましょう。

.box {
  width: 400px;
  height: 300px;
  background-image: url('background.jpg');
  background-size: 150px 150px;
  background-position: center bottom; /* 中央下に配置 */
  background-repeat: no-repeat;       /* 繰り返しを防止 */
  border: 1px solid #333;
}
  • 画像がボックスの中央下部に表示されます。
  • background-repeat: no-repeat; を指定することで、余分な画像の繰り返し表示を防ぎます。

まとめ

  • background-position で背景画像の配置を細かくコントロールできる。
  • キーワード(center, top, right, など)で直感的に配置が可能。
  • ピクセルやパーセンテージ指定で、より精密な位置調整ができる。
  • background-size との併用で、デザインの幅が広がる。

次は、背景色と背景画像を組み合わせる方法について学んでいきましょう。

コードを書いてみよう

以下のHTMLコードに background-position プロパティを追加して、背景画像がボックスの中央に表示されるようにしてみましょう。

<!DOCTYPE html>
<html lang="ja">
<head>
  <meta charset="UTF-8">
  <title>背景画像の練習問題</title>
  <style>
    .box {
      width: 300px;
      height: 200px;
      background-image: url('background.jpg');
      background-size: cover;
      /* ここにコードを追加して中央に配置してみよう */
    }
  </style>
</head>
<body>
  <div class="box"></div>
</body>
</html>
【CSS】勉強猫がコーヒーを片手にリラックスしている様子。記事内の休憩用イラスト

背景色と併用する方法

背景画像だけでなく、背景色(background-color を併用することで、より視覚的に美しいデザインを作成することができます。

背景色は画像が表示されない場合のフォールバックとしても役立ち、ページのデザインの一貫性を保つために重要な役割を果たします。

background-color プロパティの基本

background-color プロパティは、要素の背景に単色の色を設定するためのCSSプロパティです。

基本構文は以下の通りです。

selector {
  background-color: 色;
}
  • selector: CSSのセレクタ(例: body, div など)。
  • : 色名(例: red, blue)、16進数カラーコード(例: #ffcc00)、RGB値(例: rgb(255, 204, 0))などで指定します。

背景画像と背景色の併用

background-imagebackground-color は同時に指定することができます。

この場合、背景色は背景画像の下に表示され、画像が透過している場合や表示されない場合に見えるようになります。

以下のHTMLコードをコピーし、適切な画像のパスを指定してブラウザ表示してみてください。

<!DOCTYPE html>
<html lang="ja">
<head>
  <meta charset="UTF-8">
  <title>背景色と背景画像の併用</title>
  <style>
    .background-box {
      width: 300px;
      height: 200px;
      background-color: #f0f0f0; /* 背景色の指定 */
      background-image: url('background.png'); /* 背景画像の指定 */
      background-size: cover; /* 画像を全体にフィット */
      background-position: center; /* 中央に配置 */
      border: 2px solid #000;
    }
  </style>
</head>
<body>
  <div class="background-box"></div>
</body>
</html>
  • background-color: #f0f0f0; で薄いグレーの背景色を指定しています。
  • background-image: url('background.png'); で背景画像を設定。
  • もし画像が読み込まれない場合、この背景色が代わりに表示されます。

透過画像との併用

PNG形式などの透過画像を使用する場合、背景色が透過部分に見えるため、デザインの自由度が高まります。

.transparent-box {
  width: 300px;
  height: 200px;
  background-color: lightblue; /* 透過部分に表示される色 */
  background-image: url('transparent.png'); /* 透過PNG画像 */
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  border: 1px solid #333;
}
  • 透過部分にlightblue の背景色が表示されます。
  • 透過画像を使うことで、デザインに奥行きや立体感を加えることができます。

グラデーションとの併用

背景色として、単色だけでなくグラデーションも使用可能です。

linear-gradient() を使うことで、背景画像と組み合わせた美しいデザインが作れます。

.gradient-box {
  width: 300px;
  height: 200px;
  background-image: 
    linear-gradient(to bottom, rgba(255, 0, 0, 0.5), rgba(0, 0, 255, 0.5)),
    url('background.jpg'); /* グラデーションと背景画像の重ね合わせ */
  background-size: cover;
  background-position: center;
  border: 2px solid #000;
}
  • linear-gradient() で赤から青への半透明グラデーションを作成。
  • その上に背景画像を重ねることで、デザインに深みを持たせることができます。

まとめ

  • background-color は、背景画像が表示されない場合のフォールバックとして便利。
  • 透過画像と組み合わせることで、背景色が透けて見えるデザインが可能。
  • グラデーションを併用することで、さらにおしゃれな背景デザインが作れる。

このように背景色と背景画像を組み合わせることで、シンプルながらも洗練されたWebデザインを実現することができます。

コードを書いてみよう

次のコードは背景画像の上にグラデーションを重ねて表示するためのものです。

グラデーションを追加して、上から下に向かって薄い赤から薄い青に変化する効果を作成してみましょう。

.gradient-box {
  width: 300px;
  height: 200px;
  background-image: 
    ____ ;  /* ここにグラデーションのコードを追加しよう */
    url('background.jpg');
  background-size: cover;
  background-position: center;
  border: 2px solid #000;
}

まとめ

今回のレッスンでは、CSSを使った背景画像の設置方法について学びました。

背景画像はWebページの印象を大きく左右する重要な要素です。今回学んだCSSプロパティを活用することで、シンプルなデザインから複雑なレイアウトまで自由自在に表現できるようになります。

ここまで学習を進めてきたあなたは、確実にスキルを向上させています!ぜひ、実際に自分のWebページで試してみて、さまざまなデザインに挑戦してみてください。

継続的な練習が、さらなる成長につながります。お疲れさまでした!

練習問題3-6:背景画像と背景色を組み合わせたデザインを作ろう!

Q
練習問題に挑戦する人はここをクリック!
【CSS】勉強猫がノートパソコンに向かい、練習問題に挑戦する様子。記事内の休憩用イラスト

以下の条件に従って、背景画像と背景色を組み合わせたオリジナルのデザインを作成してみましょう。

ファイル名はtraining3-6.htmlとしてください。

  • 背景画像を用意すること。
  • 背景画像はページ全体(bodyタグ)に表示されるようにすること。
  • background-size を使って、画像がページ全体を覆うように表示すること。
  • 画像が中央に表示されるように、background-position を調整すること。
  • 背景色として薄いグレー(#eeeeee)を設定し、背景画像が表示されない場合のフォールバックとすること。
  • 画像が繰り返されないように、background-repeat を設定すること。
<!DOCTYPE html>
<html lang="ja">
<head>
  <meta charset="UTF-8">
  <title>総復習:背景デザインの課題</title>
  <style>
    body {
      /* ここに必要なCSSプロパティを追加して完成させよう! */
    }
  </style>
</head>
<body>
  <h1>背景デザインの総復習!</h1>
  <p>この記事で学んだ内容を活かして、素敵な背景デザインを作ってみよう!</p>
</body>
</html>
もっと分かりやすい学習サイトにするために

この記事を読んで「ここが分かりにくかった」「ここが難しかった」等の意見を募集しています。

世界一わかりやすいHTML/CSS学習サイトにするため、ぜひ 問い合わせフォーム からご意見下さい。

<<前のページ

HTML/CSSの記事一覧

HTML/CSS学習カテゴリの親ページ用アイキャッチ画像(Webサイト制作入門)、記事一覧へのリンク案内

次のページ>>

初めてのWebサイトを作ろう3-6

このサイトの Lesson1-1(HTML学習の入り口) か Lesson2-1(CSS学習の入り口)から順番に学習していくことで、HTMLとCSSの基本情報をまとめたあなたのWebサイトを作成できます。

サイトのタイトルは「自分で作る!HTML&CSSの学習サイト

この「初心者のためのプログラミングテキスト&問題集」で紹介しているHTMLやCSSの情報・知識、覚えるべきタグなど簡潔にまとめ、後から辞書のように使えることを目標としています。

Q
Webサイト制作に挑戦する人はここをクリック!

自分だけのWebサイト制作にはベースとなる基本セットが必要になります。

まだ入手していない人はLesson1-1Lesson2-1のページ下部からダウンロードして下さい。

既に入手済みの場合はこのLessonのまとめノートと練習問題の解答を、MyWebsiteフォルダに追加しましょう。

練習問題の解答を保存しよう

練習問題3-6で作成した2つのファイルを学習フォルダの中に保存しましょう。

  • training3-6.html ⇒ Lesson3フォルダに保存
  • training3-6.css ⇒ Lesson3フォルダの中のstyleフォルダに保存

トップページからリンクで飛べるようになりますので確認しましょう。

今回のまとめノートを作成・保存しよう

下記のHTMLコードは、このLesson3-6で紹介した内容を端的にまとめてブラウザ表示するためのコードです。

これをコピーして「MyWebsite3-6.html」という名前で保存し、「lesson3(学習フォルダ)」の中に保存してください。

<!DOCTYPE html>
<html lang="ja">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Lesson3-6</title>
    <link rel="stylesheet" href="style/styles-lesson3.css">
</head>
<body>

    <h1>Lesson3-6:背景画像を設定しよう</h1>

    <div class="container">
        <p>
            Webページのデザインでは、背景画像を適切に設定することで、ページ全体の雰囲気や印象を大きく変えることができます。
            本記事では、<code>background-image</code> プロパティ を使って背景画像を設定し、
            そのサイズや位置を調整する方法を学びます。
        </p>

        <h2>このレッスンで学習した内容</h2>

        <h3><code>background-image</code> プロパティ(背景画像の基本設定)</h3>
        <ul>
            <li><code>background-image: url('画像のパス');</code> を指定することで、背景に画像を設定できる。</li>
            <li><code>&lt;body&gt;</code> に適用すると、ページ全体に背景画像が表示される。</li>
        </ul>

        <h3><code>background-size</code> プロパティ(背景画像のサイズ調整)</h3>
        <ul>
            <li><strong>cover</strong>:背景を要素全体に広げる(画像が一部切り取られる)。</li>
            <li><strong>contain</strong>:背景画像を要素内に収める(余白ができる場合がある)。</li>
            <li><strong>100px 200px</strong>:具体的なサイズを指定して縮小・拡大。</li>
            <li><strong>50% 50%</strong>:親要素に対する割合でサイズを指定。</li>
        </ul>

        <h3><code>background-position</code> プロパティ(背景画像の位置調整)</h3>
        <ul>
            <li><code>center</code>:中央に配置(デフォルト)。</li>
            <li><code>top</code> / <code>bottom</code> / <code>left</code> / <code>right</code>:上下左右に配置。</li>
            <li><code>center bottom</code> のように複数指定することで、細かく調整可能。</li>
        </ul>

        <h3><code>background-repeat</code> プロパティ(背景画像の繰り返し制御)</h3>
        <ul>
            <li><code>repeat</code>(デフォルト):画像を繰り返して敷き詰める。</li>
            <li><code>no-repeat</code>:背景画像を1回のみ表示。</li>
            <li><code>repeat-x</code>:水平方向に繰り返し表示。</li>
            <li><code>repeat-y</code>:垂直方向に繰り返し表示。</li>
        </ul>

        <h3><code>background-color</code> プロパティ(背景色の設定)</h3>
        <ul>
            <li><code>background-color: #f0f0f0;</code> で単色の背景を設定可能。</li>
            <li>背景画像と併用することで、画像が表示されない場合のフォールバックにもなる。</li>
        </ul>

        <h3>グラデーションの適用(<code>linear-gradient</code>)</h3>
        <p>
            <code>background-image</code> にグラデーションを適用すると、背景画像と組み合わせたデザインが可能。
        </p>
        <pre><code class="css">
background-image: linear-gradient(to bottom, rgba(255, 0, 0, 0.5), rgba(0, 0, 255, 0.5));
        </code></pre>

        <h2>トピック・豆知識</h2>

        <h3>背景画像と背景色の併用</h3>
        <p><code>background-color</code> を設定すると、画像が読み込まれない場合に代替として表示される。</p>

        <h3>透過画像(PNGなど)を使うテクニック</h3>
        <p>背景色と透過画像を組み合わせることで、奥行きのあるデザインが可能。</p>

        <h3>レスポンシブデザインと背景画像</h3>
        <p><code>background-size: cover;</code> を使用すると、画面サイズに応じて背景が適切に拡大・縮小される。</p>

        <h2>まとめ</h2>
        <p>背景画像を適切に設定することで、Webページのデザインをより魅力的にすることができます。</p>
        <ul>
            <li><code>background-image</code> で画像を設定し、<code>background-size</code> や <code>background-position</code> で表示を調整。</li>
            <li><code>background-repeat</code> を活用して、画像の繰り返し表示を制御できる。</li>
            <li><code>background-color</code> を併用すると、背景画像が表示されない場合のフォールバックになる。</li>
            <li><code>linear-gradient</code> を使えば、グラデーションと背景画像を組み合わせたデザインも可能。</li>
        </ul>
        <p>これらのテクニックを活用し、背景画像を使った美しいデザインを作成してみましょう!</p>
    </div>

    <footer>
        <p>&copy; 初心者のためのプログラミングテキスト&問題集</p>
    </footer>

</body>
</html>

これでLesson3-6の作業は完了です。

継続は力なり。次のLessonも、引き続き頑張ってください^^

背景画像の疑問解消|FAQとよくあるトラブル

初心者がつまずきやすいポイントをFAQとしてまとめ、よくあるトラブルとその解決法をわかりやすく整理しました。

理解を深めたいときや、ふと疑問に感じたときに役立ててください。

FAQ|背景画像に関するよくある質問

今回の記事に関する「よくある質問」とその解答について、以下の内容を参考にしてください。

Q
Q1. background-imageプロパティで設定した画像が画面サイズに合わない場合、どのプロパティを使えば良いですか?

画像の表示サイズを調整したい場合は、background-sizeプロパティを使うのが一般的です。covercontainなどの値を設定することで、画面サイズに合わせた柔軟な調整が可能です。

Q
Q2. 背景画像を繰り返し表示したくない場合はどうすれば良いですか?

画像の繰り返しを防ぎたい場合は、background-repeat: no-repeat;を指定します。これにより、画像が1回だけ表示され、同じ画像が自動的に並ぶことを防げます。

Q
Q3. 背景画像の表示位置を自由に変えるにはどんな方法がありますか?

background-positionプロパティを使うと、画像の表示位置を上下左右や中央などに細かく調整できます。たとえばcenter centerright top50% 50%などの指定が可能です。

よくあるトラブルと解決法|背景画像編

今回の記事に関する「よくあるトラブル」とその原因、解決法について、以下の内容を参考にしてください。

背景画像が表示されない

Q
トラブルの原因と対処法を見る
・トラブルの原因例
  • 画像ファイルのパス(場所)が間違っている場合や、拡張子の記述ミスなどがよくあります。
  • サーバーに画像がアップロードされていない、もしくはファイル名に全角文字やスペースが入っている場合も表示されない原因になります。
・トラブルの解決法

画像ファイルのパス指定やファイル名に誤りがないか、拡張子のタイプミスや余計なスペースが含まれていないかを確認しましょう。また、実際に指定したパスに画像ファイルが存在するか、サーバーやローカルのディレクトリで再チェックしてみてください。

背景画像が意図しないサイズで表示される

Q
トラブルの原因と対処法を見る
・トラブルの原因例

background-sizeの値が正しく指定されていなかったり、初期値のままになっていることで、画像が極端に小さく見えたり拡大しすぎてしまうことがあります。

・トラブルの解決法

CSSでbackground-sizeプロパティがどう設定されているか確認しましょう。値がautoinheritなどのままになっていないか、また必要に応じてcovercontainを指定することで思い通りの表示になるか実際に値を変更しながら確認してみてください。

背景画像が複数回繰り返されてしまう

Q
トラブルの原因と対処法を見る
・トラブルの原因例

CSSでbackground-repeatがデフォルト値(repeat)のままになっていると、画像が繰り返し表示されてしまいます。また、CSSの継承や優先度によって意図しない指定が反映されている場合もあります。

・トラブルの解決法

CSSでbackground-repeatプロパティがどのように指定されているかをスタイルシート全体で確認しましょう。もし指定がなければno-repeatを追加し、ほかのセレクタやメディアクエリで上書きされていないかも合わせて確認してみてください。

<<前のページ

HTML/CSSの記事一覧

HTML/CSS学習カテゴリの親ページ用アイキャッチ画像(Webサイト制作入門)、記事一覧へのリンク案内

次のページ>>

記事URLをコピーしました