幅に合わせてCSSの背景画像と同様に、高さは比例して自動スケーリングする必要があります。画像を固定幅にスケーリングし、高さは無制限にしたいと考えています。
ただし、その質問とは異なり、これは<div>
ではなく、<body>
問題を引き起こすと思われる です。
CSS3 プロパティを使用してみましたが、次のbackground-size: cover
ような 2 つの画像が表示されます (幅は正しいが、高さが十分ではありません)。
も使用してみましbackground-size: contain
たが、次のように表示されます(幅が十分ではないため、高さが十分ではありません):
画像を次のように表示しようとしています。
これが私がセットアップしたJSFiddleです。
を広くするだけでなく、高さを自動スケーリングするにはどうすればよい<div>
ですか?171px
画像の寸法は不明です。画像は の形式である必要<div style="background-image: url('base64')">
があります(<img src="base64">
転送先の CLI プログラムの制限によるものではありません) が、他の HTML または CSS を変更できます。
また、JavaScript を使用して高さを計算してみました。それはうまく<div>
いきますが、 は実際には最後にサイズ変更されません:
var divs = document.getElementsByTagName('div');
for(var i = 0; i < divs.length; i++)
{
var img = new Image();
img.src = divs[i].style.backgroundImage.replace(/url\((['"])?(.*?)\1\)/gi, '$2');
var ratio = img.width / 171;
var height = Math.floor(img.height / ratio);
alert(height);
divs[i].height = height;
}
JavaScript を使用して更新された JSFiddleを次に示します。