HTML/CSS

【CSS】背景画像background-imageの高さを可変にする方法

こちらの記事では、背景画像background-imageの高さを可変(レスポンシブ)にする方法についてまとめています。

背景画像をレスポンシブ対応させる方法が分からず、今までbackground-imageを使わずにimgタグだけで画像を表示させていた方は、こちらの記事を参考にしてimgタグとbackground-imageプロパティで表示させる画像を適切に分けられるようにしましょう!

HTML/CSSの学習におすすめ参考書
1冊ですべて身につくHTML&CSSとWebデザイン入門講座

参考書が苦手な人はUdemyの動画がおすすめ
ちゃんと学ぶ、HTML+CSS&JavaScript入門講座

動画情報
作成者たにぐち まこと
学習時間9時間
受講者数43,706人
レビュー (9,232件)
動画の詳細はこちら

サンプル

<div class="back-img"></div>
.back-img{
    width: 100%;
    height: 0;
    padding-top: 62.5%; // (画像の高さ / 画像の横幅) × 100
    background: url(sample.png); //背景画像を設定
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
}

上記に表示されている画像はbackgroundプロパティを使用して背景画像としてレスポンシブ対応しています。ブラウザ幅を狭めると画像が同じ比率で縮小することを確認することができます。

背景画像をレスポンシブ対応させる重要なポイント

アスペクト比からpadding-topに数値を設定する

背景画像をレスポンシブ対応させる上で一番重要なポイントなのが、padding-topプロパティに設定する値です。

サンプルでは62.5%を設定していますが、この数値は背景画像として表示させる画像のアスペクト比によって算出される値が異なります。

表示させたい画像サイズを確認し下記の計算式に数値を当てはめることで、padding-topに設定する値を算出することができます。

計算式

(画像の高さ / 画像の横幅) × 100

先輩くん
先輩くん
背景画像以外にも動画などを配置する時に使えるテクニックなので覚えておきましょう!

まとめ

今回はbackground-imageで背景画像をレスポンシブ対応させる方法について解説しました。

重要なポイントを忘れないようおさらいを兼ねて下記にまとめました。

ポイント

  • padding-topに設定する値は、(画像の高さ / 画像の横幅) × 100で算出することができる

ブログランキング・にほんブログ村へ PVアクセスランキング にほんブログ村