created: 2020-12-19T07:54:10.000Z

tailwindcssで画像のアス比を固定する

object-contain を使えばよい。

<img class="object-contain" src="/image.jpg" />

どうなっているのか

css の object-fit: contain を使っている。

置換コンテンツはアスペクト比を維持したまま、要素のコンテンツボックスに収まるように拡大縮小されます。オブジェクト全体がボックス内に表示され、アスペクト比が維持されるので、オブジェクトのアスペクト比とボックスのアスペクト比が合わない場合は、レターボックス表示になります。

object-fit 知らなかった。昔は画像のアスペクト比を固定するためにiframeを使ったり四苦八苦していたこともあったようだが便利な世の中に生まれてよかった。

参考

Lean UX 第3版 ―アジャイルなチームによるプロダクト開発 (THE LEAN SERIES)
[ad] Lean UX 第3版 ―アジャイルなチームによるプロダクト開発 (THE LEAN SERIES)
Jeff Gothelf, Josh Seiden (単行本(ソフトカバー))