CSSのみを使用して、HTMLの<img>
要素に対して次のことを実現したいと思います。
width: calc(100% - 20px)
height: calc(width * 0.5625) /*16:9 aspect ratio*/
<div>
要素とその背景に関して、インターネット全体に同様の例があります。ただし、<img>
要素の場合、パディングの変更は機能しません
Similairの例:CSSでdivのアスペクト比を維持する
Edit、jQueryを使用すると、次の方法で上記を実現できます。
$(".myImage/s").outerHeight($(".myImage/s").outerWidth() * 0.5625);
高さプロパティで幅を定義するには、viewport-width(vw
)を使用します。
width: calc(100% - 20px)
height: calc((100vw - 20px) * 0.5625) /*16:9 aspect ratio*/
viewport
は、Webページの表示領域です。
フルサイズは100vw * 100vh
です。ここで、vw
とwh
はビューポートのサイズ単位です。
したがって、1つの "vw
"は、Webページの現在表示されている幅の1%
に等しくなります。
詳細については、次を参照してください: ビューポート単位:vw、vh、vmin、vmax
これを行うには、vw(ビューポート幅)を使用できます。
width: calc(100vw - 20px);
height: calc((100vw - 20px) * 0.5625); /*16:9 aspect ratio*/
画像をdivの背景として配置する場合は、padding-bottomメソッドを使用することもできます。
これは実際の比率を使用して私のために働きました…そして私は最大寸法が必要だったので、高さを設定する前にそれらを設定することを確認してください:
position: relative;
margin: 0 auto;
width: 100vw;
max-width: 1080px;
max-height: 1920px;
height: calc(100vw * (16/9));