使响应式图像以百分比高度填充 div

Make responsive images fill div with a percent height

我正在尝试为我的网站制作一个 "intro" 部分,该部分应占据当前(加载页面时)视口高度的 80% 左右,并包含两张图片:一张在左边和一个在该部分的右侧。在这两张图片下方,应显示一个向下箭头,诱使客户向下滚动到下一部分。

问题是,如果我将简介 div 设置为 height: 80% 并设置图像 width:100% 使其响应,它们会溢出设置的简介 div到 80% 高度。

我做了一个示例 codepen 来说明我的问题。

我将不透明度设置为 0.5,这样您就可以看到我的介绍 div 在哪里。

有没有什么方法可以让图像适合他们的 div,这样我就不必在我的介绍 div 上加上 overflow:hidden;

提前致谢。

您可以这样使用视口高度单位:height: 80vh; 但将它与 width: 100%; 一起使用可能会破坏您的图像纵横比;正如 kthornbloom 刚才所说,您可以使用背景图像来填充整个父元素。

对于这种情况,您可能希望在 div 上使用背景图片而不是普通的 img 标签:

<div style="background-image:url(myimage.jpg)"></div>

在这些 div 上,设置以下 css:

background-size:cover;

如果您有在 jsfiddle.net 或类似平台上启动的演示,我可以提供更多细节方面的帮助。

背景图片是正确的选择。请注意,您必须添加 height: 100%; #intro div 以便继承父元素的高度