
画像をレイアウトにきれいに収めたいと思っても、「引き伸ばされる」「上下が切れてしまう」など、思ったように表示されないことはありませんか?
そんなときに便利なのが CSSの object-fit
プロパティです。
画像や動画の見せ方を整えたいときに役立つ、基本的な使い方と注意点を初心者向けにやさしく解説します。
object-fit
とは?
object-fit
は、画像や動画などの「中身」を、指定したサイズの枠にどう収めるかを制御するCSSプロパティです。
主に<img>
や<video>
タグに対して使用され、デザインを崩さずにきれいな表示を実現できます。
代表的な指定値と特徴
値 | 意味 |
---|---|
fill | 枠いっぱいに引き伸ばす(アスペクト比無視) |
contain | 中身全体が見えるように縮小(余白あり) |
cover | 枠いっぱいに表示(はみ出しOK、切り取りあり) |
none | 元のサイズそのままで表示 |
scale-down | none かcontain の小さい方が適用 |
基本的な使用例
① contain(全体を縮小して表示)
画像全体を見せたいときにおすすめ。縦横比を保ったまま、収まるように調整されます。
img {
width: 300px;
height: 200px;
object-fit: contain;
}
② cover(枠ぴったりに表示・切り抜きあり)
表示枠をしっかり埋めたいときに最適。画像の一部が切り取られる可能性がありますが、見た目が整いやすいです。
img {
width: 300px;
height: 200px;
object-fit: cover;
}
③ fill(縦横を無視して強制フィット)
枠の形に強引に合わせるため、画像がゆがんで見えることがあります。アイコンなどに使うケースはありますが、注意が必要です。
img {
width: 300px;
height: 200px;
object-fit: fill;
}
④ none(元のサイズそのまま)
サイズ変更をせず、元画像の表示に任せたい場合に使用します。
img {
width: 300px;
height: 200px;
object-fit: none;
}
⑤ scale-down(小さい方を自動で選択)
none
とcontain
のうち、より小さいサイズで表示してくれます。
img {
width: 300px;
height: 200px;
object-fit: scale-down;
}
初心者が気をつけたいポイント
- 画像ファイル自体は加工されない:見た目だけが変化します
width
とheight
の指定が必要:これらがないとobject-fit
は効果を発揮しません- レスポンシブ時の扱い:
max-width: 100%
やheight: auto
と組み合わせると崩れにくくなります
よく使われる実践シーン
- ギャラリーのサムネイル画像を整える
- ニュース一覧のアイキャッチを揃える
- プロフィール画像を枠内にきれいに収める
おわりに
object-fit
を使うことで、画像や動画をレイアウトにきれいに合わせることができます。
特にcontain
とcover
は使用頻度が高いので、それぞれの違いを実際に試して感覚をつかんでみましょう。
今後は、object-position
などと組み合わせることで、さらに細かな調整も可能になります。ぜひ一歩先の演出にもチャレンジしてみてください!
Web制作やHTML/CSSの学習に役立つ情報を初心者向けに発信しています。
プロフィールはこちら