CSSのbackground-imageで背景画像を設定し、デザインを豊かにする方法をわかりやすく解説

スポンサーリンク

background-imageプロパティは、要素の背景に画像やグラデーションを設定するためのプロパティです。背景画像としては、URLで指定された画像や、グラデーションなどの効果を使用できます。

スポンサーリンク

background-imageプロパティの値とその効果

  • url(): 背景に指定されたURLの画像を表示します。
  • linear-gradient(): 線形グラデーションを背景に適用します。
  • radial-gradient(): 放射状グラデーションを背景に適用します。
  • none: 背景画像を削除します。

注意点と関連情報

background-imageプロパティを使用するとき、background-sizebackground-positionなどのプロパティと併用して、背景画像のサイズや位置を調整する必要がある場合があります。また、複数の背景を指定することも可能で、カンマで区切って複数のurl()やグラデーションを指定できます。これは重ね順に応じて表示されます。

background-imageが表示されない理由として考えられること

画像のURLが間違っている

background-imageで指定された画像のURLが誤っている場合、画像は表示されません。相対パスや絶対パスの記述ミス、ファイル名やディレクトリの誤りが原因となることがあります。
対策:画像のパスが正しいか、ファイル名や拡張子に間違いがないか確認します。開発者ツールやブラウザのネットワークタブを使用して、画像のロード状況を確認するのも有効です。

要素のサイズが0になっている

background-imageは要素の背景に適用されますが、要素自体に高さや幅が指定されていない場合、画像が表示されないことがあります。
対策:要素に適切なサイズが設定されているか確認し、必要に応じてheightwidthを指定します。min-heightmin-widthを設定することも有効です。

共通するCSSコード

.css-sample-container {
        width: 100%;
        max-width: 600px;
        padding: 20px;
        margin: 50px auto;
        border: 1px solid #000;
        text-align: center;
        font-size: 18px;
        color: #333;
        box-sizing: border-box;
        background-size: cover;
        background-repeat: no-repeat;
        height: 300px;
    }
    

background-image: url()

background-image: url()は、指定したURLの画像を背景として表示します。この例では、600×300のプレースホルダー画像を背景に設定しています。

HTMLコード

<div class="css-sample-container css-sample-bg-url">
    背景画像としてURLの画像が表示されます。
    </div>

CSSコード

.css-sample-bg-url {
    background-image: url('https://programming-cafe.com/wp-content/uploads/colorphoto02.jpg');
}

表示結果

背景画像としてURLの画像が表示されます。

background-image: linear-gradient()

background-image: linear-gradient()は、線形グラデーションを背景として適用します。指定された方向に色が滑らかに変化します。

HTMLコード

<div class="css-sample-container css-sample-bg-linear-gradient">
    背景に線形グラデーションが表示されます。
    </div>

CSSコード

.css-sample-bg-linear-gradient {
    background-image: linear-gradient(to right, red, blue);
}

表示結果

背景に線形グラデーションが表示されます。

background-image: radial-gradient()

background-image: radial-gradient()は、放射状グラデーションを背景に適用します。中心から外側に向かって色が変化する効果です。

HTMLコード

<div class="css-sample-container css-sample-bg-radial-gradient">
    背景に放射状グラデーションが表示されます。
    </div>

CSSコード

.css-sample-bg-radial-gradient {
    background-image: radial-gradient(circle, red, yellow, green);
}

表示結果

背景に放射状グラデーションが表示されます。

background-image: none

background-image: noneは、背景画像を表示しない設定です。要素に背景画像を削除したい場合に使用します。

HTMLコード

<div class="css-sample-container css-sample-bg-none">
    背景画像はありません。
    </div>

CSSコード

.css-sample-bg-none {
    background-image: none;
}

表示結果

背景画像はありません。

まとめ

background-imageプロパティは、要素に画像やグラデーションを背景として設定するための重要なプロパティです。単一の画像やグラデーションだけでなく、複数の背景を重ねることも可能です。また、他のbackground関連プロパティ(background-sizebackground-positionなど)と組み合わせることで、柔軟にデザインを調整できます。