CSS

aspect-ratio

上級

読み方:アスペクトレシオ|英語:Aspect Ratio

要素の縦横比を指定するプロパティで、aspect-ratio: 16/9; で動画のような比率になるよ。

やさしい説明

aspect-ratioは、要素の縦横比を固定するプロパティです。幅が変わっても比率が保たれます。

テレビ画面は16:9、Instagramの写真は1:1(正方形)ですよね。aspect-ratioを使えば、画面サイズが変わっても同じ比率を保てます。

以前はpadding-topハックという複雑な方法が必要でしたが、今は aspect-ratio: 16/9 と書くだけで実現できます。

具体例・使い方

/* 動画のような16:9の比率 */
.video { aspect-ratio: 16 / 9; width: 100%; }

/* 正方形のサムネイル */
.thumbnail { aspect-ratio: 1; width: 200px; }

/* 縦長のカード(3:4) */
.card { aspect-ratio: 3 / 4; }

よく使う比率の早見表

書き方 比率 使う場面
16 / 9横長(ワイド)YouTube動画・スライド
1 / 1正方形Instagram・アイコン・サムネ
4 / 3やや横長昔のテレビ・写真
3 / 4縦長ポートレート・カード
9 / 16縦長(スマホ全画面)TikTok・ストーリー

いつ使う?

  • YouTube等の動画埋め込み枠を崩さず置きたいとき(16/9)
  • サムネイル画像のサイズを揃えたいとき(1/1)
  • カードの高さをバラつかせず統一したいとき
  • レスポンシブで幅が変わっても比率を保ちたいとき

昔は padding-top: 56.25% という分かりにくい「padding-topハック」で16:9を作っていました。今は aspect-ratio: 16 / 9 の1行でOK。古い解説サイトを見て混乱しないよう注意しましょう。

間違いやすいポイント

❌ widthとheightの両方を固定するとaspect-ratioが無視される

両方を指定すると比率より実寸が優先されます。片方(通常はwidth)だけ指定して、もう片方は自動計算に任せましょう。

❌ 中の画像が比率からはみ出す

枠に aspect-ratio を付けても、中の <img> が比率と違うと不自然に伸びます。画像側に object-fit: cover を付けると、枠に合わせてきれいに切り取られます。

よくある疑問

Q: aspect-ratioの書き方は?

A: aspect-ratio: 16/9;(横長動画)、aspect-ratio: 1/1;(正方形)、aspect-ratio: 4/3;(写真)のように書きます。

Q: aspect-ratioを使わない方法は?

A: 昔はpadding-top: 56.25%;(16:9の場合)というハックが使われていました。今はaspect-ratioの方がシンプルです。

Q: レスポンシブで縦横比を保つには?

A: width: 100%; aspect-ratio: 16/9; と書けば、幅に合わせて高さが自動計算され、どの画面サイズでも比率が保たれます。

関連用語

  • レスポンシブ — 幅が変わっても比率を保てるので相性が良い
  • Grid — グリッド内のセルの縦横比を揃えるのに使える
  • Flexbox — 横並びカードの比率統一と組み合わせる

📖 関連レッスン

レッスンを見る →

関連ブログ記事

⚠️ 関連するエラー

❓ 関連するQ&A