我的最终目标是使用仅 CSS,使流体
目前,我使用一个普通(
我知道,我知道,这个问题的答案可能就在独角兽农场旁边,但我想把它放在这里。
<img>
不会超出父/祖先元素显式设置的高度。目前,我使用一个普通(
max-width:100%; height:auto;
)的流体图像和 JavaScript 来读取 img 标记中的高度/宽度属性,计算宽高比,计算图像在所需高度限制下的正确宽度,并将该宽度应用于图像的容器元素作为 max-width
。这很简单,但我非常希望能够不使用 JavaScript 完成此操作。
height:100%; width:auto;
与其横向使用方式不同,我尝试了一些 Unc Dave 的旧填充盒子和绝对定位,它们能够实现此功能,但需要事先知道图像的长宽比,因此不能适用于具有不同比例的图像。因此,最终要求是 CSS 必须是比例无关的。我知道,我知道,这个问题的答案可能就在独角兽农场旁边,但我想把它放在这里。
max-height:
不起作用。你能提供一个示例HTML + CSS + 图像来演示这个问题吗? - KatieKhttps://uploadcare.com/blog/how-to-crop-an-image-in-css/
找到。 - David Spectorobject-fit:cover
,并在包含的div上使用width、overflow:hidden和max-height。另一种解决方案是在图像本身上使用background-image、background-size和background-position来实现精确缩放和裁剪。 - David Spector