Aspect-Ratio プロパティ

最終更新:2026-09-13

aspect-ratio Aspect-Ratio プロパティ

aspect-ratio プロパティは要素に固定の幅対高さ比を保たせ、昔の padding パーセンテージのハックを不要にします。初期値の auto は画像などと同様に要素の固有の比率を使います。これは比較的新しい CSS 機能で、動画やカードのレスポンシブなコンテナを大きく簡素化します。

カテゴリ
初期値auto
継承いいえ
適用対象all
アニメーションタイプlength
CSS バージョンCSS3
状態標準

📝 構文

aspect-ratio: auto || <ratio>;

⚙️ 値

タイプ説明
autoキーワード要素の固有の縦横比を使用する。
<ratio>タイプ指定した縦横比(16/9 など)。

▶ 例

以下のコードを編集して、プレイグラウンドでライブ結果を確認してください:

🌐 ブラウザーサポート

ブラウザー ChromeChrome EdgeEdge FirefoxFirefox SafariSafari OperaOpera
aspect-ratio v88 v88 v89 v15 v74
すべての主要ブラウザーでサポート
ヒント: aspect-ratio と width:100% を組み合わせると適応型の等比コンテナができ、埋め込み動画や画像によく使われます。

❓ よくある質問

Qaspect-ratio と padding-top ハックの違いは何ですか?
Aどちらも等比コンテナを作りますが、aspect-ratio はネイティブなプロパティなので読みやすく保守も容易です。padding-top ハックは幅に対するパーセンテージの padding で高さを押し出し、典型的には ::before 疑似要素と絶対配置のコンテンツを使うため厄介です。aspect-ratio は1行で済むため、新しいプロジェクトには推奨されます。
Qaspect-ratio を設定しているときでも height は機能しますか?
Aaspect-ratio は既に決まった幅から高さを計算します。明示的に height も設定した場合、その明示的な高さが優先されて比率計算の高さを上書きするため、比率は保証されなくなります。比率を強制するには height を設定せず、width と aspect-ratio だけを設定してください。また、auto は画像の元の寸法などの要素の固有の比率を意味することに注意してください。
Qなぜ aspect-ratio が効かないのですか?
Aよくある原因:1つ目は要素に height も設定されていて、明示的な高さが優先されること。2つ目は要素に幅がなく、width:auto でコンテンツもないため比率の元となる幅がないこと。3つ目はブラウザーが古すぎることです。このプロパティは Chrome 88、Firefox 89、Safari 15 から安定サポートされました。デバッグ時はまず幅と高さの状態を確認し、width:100% などの幅を与えてください。
Qaspect-ratio でレスポンシブな動画コンテナを作るにはどうすればよいですか?
Aコンテナに width:100%; aspect-ratio:16/9 を設定します。親の幅が変わると高さは比率を保つように自動計算され、ボックスは等比スケーリングします。その後、iframe や video を絶対配置で中に埋めて満たします。これで padding-top ハックは完全に不要になります。画像の場合は img コンテナに aspect-ratio をあらかじめ設定すると、読み込み中のレイアウトずれ(CLS)を減らせ、Core Web Vitals が実測的に向上します。

📚 関連チュートリアル

Web-Tutorial.com

Web-Tutorial 技術チーム

複数の開発者によって共同維持されているプログラミングチュートリアルプラットフォーム。各チュートリアルは専門分野の開発者が執筆・レビューしています。正確で信頼性の高いコンテンツを目指しています — 問題を見つけた場合はお知らせください。

100%