こんにちはrey( @reydesign8376) です
都内の勤務生活を辞めてWebデザイナーに。今は趣味のサーフィンなどしながら海沿いでのんびり暮らしています。
今回は、最近特に注目されているCSSプロパティaspect-ratio
についてご紹介します。レスポンシブ対応で画像やボックスの比率をきれいに保ちたいとき、すごく便利なプロパティです◎画像のサイズ比率、崩れてませんか?
こんなときに便利!
- 画像の比率を固定したいとき
- iframeや動画の埋め込みサイズを崩したくないとき
- 高さ未指定のボックスでも、比率ベースでデザインしたいとき
これまでpadding-top
を使って比率を維持していたような場面が、aspect-ratio
でスマートに解決できます。
aspect-ratioとは?
CSSのaspect-ratio
は、要素の幅と高さの比率を指定できるプロパティです。
img {
aspect-ratio: 4 / 3;
}
これだけで、画像の表示サイズが常に「4:3」で保たれます。高さを自動で計算してくれるんです。便利!
object-fitとの組み合わせが神!
画像をトリミングして、枠いっぱいにきれいに表示したいときは object-fit
を組み合わせましょう。
.image-wrap img {
width: 100%;
height: auto;
aspect-ratio: 1 / 1; /* 正方形に切り抜き */
object-fit: cover; /* はみ出す部分はトリミング */
border-radius: 8px;
}
object-fit: cover
を使うと、画像をズームしてはみ出す部分を自動トリミングしてくれます。
iframeにも使える!
aspect-ratio
は iframeやvideoタグにも使えます!
YouTube動画をレスポンシブで表示したいとき、これだけでOK
iframe {
width: 100%;
aspect-ratio: 16 / 9;
border: none;
}
もうpadding-topで16:9を計算したり、position:absoluteで埋め込む必要なし。
シンプルで読みやすく、保守もラク!
実際の使用例
<div class="thumbnail">
<img src="sample.jpg" alt="画像">
</div>
.thumbnail img {
width: 100%;
aspect-ratio: 3 / 2;
object-fit: cover;
border-radius: 6px;
}
このコードだけで、どんな画像も3:2の比率でトリミングして表示されます。
対応ブラウザは?
主要ブラウザ(Chrome / Firefox / Safari / Edge)はすべて対応済みです◎
IEは非対応ですが、今はもう気にしないでいい場面も多いですよね。
まとめ
aspect-ratio
は、CSSだけで美しい比率をキープできる超便利プロパティ。
レスポンシブ対応や画像・動画周りのトラブルをグッと減らしてくれます。
- 比率を明確に保ちたい →
aspect-ratio
! - 高さの指定に悩んでた →
aspect-ratio
で解決! - 複雑なコードをシンプルにしたい →
aspect-ratio
一択!
どんどん活用して、より美しく整ったレイアウトを目指しましょう✨
今後も、CSSで使える便利なテクニックやデザインTipsを紹介していきます。
良かったらまたチェックしてみてくださいね!
では〜👋
この記事を読んだ人はこの記事も見てます!

コメント