こちらの記事では、背景画像background-imageの高さを可変(レスポンシブ)にする方法についてまとめています。
背景画像をレスポンシブ対応させる方法が分からず、今までbackground-imageを使わずにimgタグだけで画像を表示させていた方は、こちらの記事を参考にしてimgタグとbackground-imageプロパティで表示させる画像を適切に分けられるようにしましょう!
ITエンジニア特化の転職サイト!
自社内開発求人に強い【クラウドリンク】
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で算出することができる