【Amazon】人気の商品が日替わりで登場!
毎日お得なタイムセール!商品をみる

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

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

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

HTML/CSSの学習におすすめ書籍
1冊ですべて身につくHTML&CSSとWebデザイン入門講座
総合評価
( 5 )
メリット
  • HTMLとCSSの基本が体系的に学べる
  • Webデザインの基本が学べる
  • 1つのWebサイトを作りながら学べる
先輩くん

Amazon Kindle Unlimitedに登録すると、月額980円で読み放題だからオススメだよ!

後輩ちゃん

初回30日間は無料だから、まだ登録したことのない人はぜひ試してみてね!

全プログラマー必見!
変数名/関数名にもう悩まない!
リーダブルコード
総合評価
( 5 )
メリット
  • 美しいコードが書けるが自然と書けるようになる
  • 他の開発者が理解しやすいコードになる
著:Dustin Boswell, 著:Trevor Foucher, 解説:須藤 功平, 翻訳:角 征典
¥2,640 (2023/07/23 02:48時点 | Amazon調べ)
目次

サンプル

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

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!
目次