【便利CSSプロパティ|object-fit】background-sizeと同じ挙動をimgタグに適用できる「object-fit」

こんにちは。
Webデザイナーの野尻です。

今回は最近よく使うCSSプロパティ「object-fit」を紹介したいと思います。

画像ギャラリーを作るときにディ・モールト(非常に)便利

wordpressでCMS実装するときに、よくある要望のひとつが「画像ギャラリー」です。
例えばこんな感じで、四角の枠に画像を収めたギャラリーを実装したいとします。

しかし、実際に運用が始まってみると、↓みたいな感じになってしまうことがよくあります。

投稿される画像のサイズがまちまちなため、枠に収まり切らない部分がはみ出してしまうんですね。

CSSをこねくりまわすことで、やりようはあるのですが、微妙にソースが複雑になったりうまくハマってくれないことなどが多くありました。
以前は、このあたりimgタグを使用せず、background-imageで見た目上表現していることもよくありました。

これを一発で解決してくれるのが、「object-fit」プロパティ

使い方はbackgroud-sizeとほぼ同じイメージ






img {
  width: 300px;
  height: 300px;
  object-fit: cover; /* この一行を追加するだけ! */
}

↑のような感じでimgタグに一行するだけで↓みたいなトリミングを実現できます!

「cover」も便利ですが、場合によっては画像全てを枠内に収めたいときもあると思います。

そんなときは「contain」






img {
  width: 300px;
  height: 300px;
  object-fit: contain; 
}

このソースで↓のようなトリミングを実現できます。

ほとんど「backgroud-size」プロパティと同じ感覚で使用できますね!

スクリプト「object-fit-images」適用でIEやEdgeにも対応

こういう便利な機能を使おうとすると出てくる敵(IE)。
例によってIEは未対応、EdgeはVer15まで未対応です。。
しかし!スクリプト「object-fit-images」の導入によって、これらのテキを蹴散らすことが可能です!

使い方は簡単でjsを読み込ませて、object-fitを適用させたCSSスタイルの中に特定のfont-familyを適用するだけ

【スクリプト】









【CSS】






img {
  width: 300px;
  height: 300px;
  object-fit: cover; 
  font-family: 'object-fit: cover;'
}

font-familyは、object-fitの内容に対応させればOKです。
object-fit: contain;
ならば
font-family: ‘object-fit: contain;’
という具合です。

これでIEやEdgeも気にせずに使うことができますね!
今まで思考錯誤して実装していたギャラリーでしたが、本当に簡単に実装できるようになったなーというお話でした。

ビーズクリエイトでは、画像ギャラリー機能付きのCMS構築も月額プランでご提供します!詳しくはこちら

  • Related Posts

    【AI Overviewとは?】Google検索に出てくる要約の正体と、Web・SEOへの影響
    • 4月 11, 2025

    最近、Google検索を利用すると、検索結果のいちばん上に「要約された答えみたいな文章」が出てくること、ありませんか? 「これってどこのサイトの情報なの?」 「なんか自動でまとめられてるっぽい?」 と感じた…

    続きを読む
    【2025最新】AIによる日常生活の便利な活用事例5選!
    • 4月 4, 2025

    「最近、AIって本当にすごいよね・・」と、あなたも一度は感じたことがありますよね? 今回のテーマは、AI活用で「家事が劇的にラクになる」実際の生活事例を5つ紹介したいと思います。 最初の事例は、世代を問わず…

    続きを読む