HTML/CSS

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

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

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

ITエンジニア特化の転職サイト!
自社内開発求人に強い【クラウドリンク】

先輩くん
先輩くん
年収、休日数、労働環境等クラウドリンクが審査し、これらを通過した優良求人情報のみ紹介しているよ!
後輩ちゃん
後輩ちゃん
100%自社内開発の求人だから、SESのように職場環境が変わらないのがいいね!
簡単30秒で無料登録!

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

サンプル

<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アクセスランキング にほんブログ村