auto画像本来の寸法を使う
初期値はauto autoです。内在的な幅と高さを持つ画像は、その大きさと縦横比を基準に表示されます。
要素の背景画像の大きさを決めるプロパティ。全体を見せるか、枠を埋めるか、元の大きさを使うかを切り替えて比べます。
.element background-size: cover;
値のパターン
auto初期値はauto autoです。内在的な幅と高さを持つ画像は、その大きさと縦横比を基準に表示されます。
cover | containcoverは枠を完全に覆うまで拡大し、containは画像全体が枠内に収まるまで拡大・縮小します。
<width> <height>長さや割合を1つ書くと幅だけを指定し、高さはautoになります。2つ書くと幅、高さの順です。
初期値はauto autoです。画像の縦横比を保つならcover・contain・片方をautoにした長さ指定を使います。
auto画像本来の大きさ初期値cover枠全体を覆う切り抜きありcontain画像全体を表示余白あり180px auto幅を固定して比率を保つ長さ60% auto枠の幅を基準にする割合100% 100%枠と同じ寸法へ伸縮比率が変わる画面幅に合わせて変わる領域をcoverで覆うと、余白を出さずに背景画像を大きく見せられます。
.hero { background-size: cover; background-position: center; }画像全体を見せたいときはcontainを使い、必要に応じて背景色で残った余白を整えます。
.logo-panel { background-size: contain; background-repeat: no-repeat; }模様の1単位へ長さを指定すると、背景画像を繰り返す細かさを調整できます。
.pattern { background-size: 48px 48px; }ポイント
background-sizeは背景画像だけを拡大・縮小し、要素のwidthやheightは変えません。先にbackground-imageで画像を用意し、繰り返しはbackground-repeat、見せる位置はbackground-positionで調整します。複数の背景画像にはカンマ区切りで画像ごとの値を指定できます。初期値はauto auto、すべての要素と::first-letter・::first-lineに適用でき、子要素へは継承されません。coverでは画像の一部が切れ、containでは背景色が見える余白が残ることがあります。
background-size と一緒に使われるプロパティや、詳しい外部リファレンスをまとめました。