类似于CSS 背景图像以适应宽度,高度应该按比例自动缩放,我想将图像缩放到固定宽度,高度不受限制。
不过,与那个问题不同的是,这是针对 a 的<div>
,而不是针对 的<body>
,这似乎会引入问题。
我尝试使用 CSS3 属性background-size: cover
,但显示了 2 个这样的图像(宽度正确但不够高):
我也尝试过使用background-size: contain
,但显示如下(不够宽,因此不够高):
我试图让图像看起来像这样:
这是我设置的 JSFiddle 。
我怎样才能让<div>
's171px
变宽,但还能自动缩放高度?
图像的尺寸未知。图片必须采用格式<div style="background-image: url('base64')">
(不是<img src="base64">
因为转发到的 CLI 程序的限制),但我可以修改任何其他 HTML 或 CSS。
我也尝试过使用 JavaScript 来计算高度应该是多少。这很好用,但<div>
's 实际上并没有在最后调整大小:
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。