2018/10/03備忘録css

背景画像の高さを可変にして表示させる

background-imgは要素の高さを設定する必要があります。
普通にレスポンシブの可変に対応させたくても、高さが効いて余白が出来てしまいます。
その余白を無くす方法です。

背景画像の高さを可変にするには?

heightを0にしてpadding-topでその分の高さを%で確保します。
画像の縦横比に応じて、padding-topの値を変更してください。
padding-top: (画像の高さ / 画像の横幅) × 100。

.block {
  background: url(画像パス);
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
  width: 100%;
  /* 高さを0にする */
  height: 0;
  /* パディングトップへ画像の縦横比を入れる */
  padding-top: 70%;
}