HTMLの画像について話しましょう。他の制約なしで画像をページにドロップすると、その「自然なサイズ」、つまり画像の文字通りのサイズ (ピクセル単位) が想定されます。CSS を指定するmax-width
と、自然な縦横比max-height
が維持されますが、サイズの制約に合わせて縮小されます。素晴らしい!
任意の要素でその正確な動作が必要です。つまり、自然なサイズ (ピクセル単位で指定) を持ち、 および の影響を受けたときに縦横比を維持する または を作成したいと考えてい<div>
ます。(ボーナスポイント:テクニックもサポートされていればかっこいいと思います。)max-width
max-height
min-width
min-height
ここに私が集めたいくつかの情報があります:
HTML5 画像の場合、属性が true の場合、属性
naturalWidth
とnaturalHeight
属性を使用して画像の自然なサイズを読み取ることができます。complete
残念ながら、MDN が指摘しているように、これらのプロパティは読み取り専用であり、画像要素に固有のものです。このアプローチは素晴らしいですが、(高さは に応答しますが
max-width
) 幅は に応答しませんmax-height
。少し検索しても、CSS のみのソリューションが見つかりませんでした。そのため、存在しない可能性があると思います。JavaScript ソリューションも受け入れますが、ウィンドウ サイズと親要素のサイズの変更に対して堅牢である必要があります。