【发布时间】:2018-07-19 15:28:04
【问题描述】:
我有一个高度为 300 像素的 div。我想要一个或多个根据这个高度缩放的子图像。
当我使用带有下面#src CSS 的img 时,效果很好。宽度和高度未定义为像素分辨率,因此如果我更改了#wrap 的高度,它会按应有的比例缩放。
是否可以在不定义像素宽度/高度的情况下对 CSS 背景(无 Javascript)做同样的事情?我可以将宽度设置为 100% 并在其中放置一个最大宽度,但这会将图像限制为最大宽度,如果图像小于最大宽度,则右侧会有一个间隙(可以根据 max-width 的值很大)。
谢谢!
#wrap
{
width:100%;
height:300px;
}
#src
{
display:inline-block;
width:auto;
height:100%;
border:1px #0f0 solid;
}
#bg
{
display:inline-block;
background-image:url(https://i.imgur.com/6672G7J.png);
background-repeat:no-repeat;
background-size:contain;
width:auto;
height:100%;
border:1px #f00 solid;
}
<div id="wrap">
<img id="src" src="https://i.imgur.com/6672G7J.png" />
<div id="bg"></div>
</div>
【问题讨论】:
-
那个兔子洞要深得多 -> developer.mozilla.org/en-US/docs/Learn/HTML/…
-
我讨厌这个兔子洞。更糟糕的是,即使制定了标准,浏览器也需要一段时间才能采用它。