html - 为自动调整大小的 img 保留空间

标签 html css responsive-design

我希望我的图像的宽度自动调整大小(使用图像纵横比)。我使用类似的东西:

img {
    height: 100%;
    width: auto;
}

问题是在加载图像之前,浏览器不会为其预留水平空间。有没有办法让浏览器在不使用 javascript 的情况下为我的图像保留空间?

我知道图片的纵横比以及全尺寸图片的高度和宽度。

最佳答案

实际上,只要您至少知道图像的纵横比,就有办法做到这一点。

我成功使用的技术涉及根据图像的比例向图像周围的包装器添加填充。此技术由 Thierry Koblentz 引入(用于视频)并由 Anders M. Andersen 扩展(用于图像)。

<div class="grumpy-image-wrapper">
    <img class="grumpy-image" src="images/grumpy-cat.jpg" />
</div>
<div class="grumpy-image-wrapper">
    <img class="grumpy-image" src="images/grumpy-cat.jpg" />
</div>
<div class="grumpy-image-wrapper">
    <img class="grumpy-image" src="images/grumpy-cat.jpg" />
</div>

.grumpy-image-wrapper {
    width: 90%;
    height: 0;
    padding-bottom: 66.67%; /* determined by image aspect ratio */
    border: 2px solid white;
    position: relative;
}
.grumpy-image {
    width: 100%;
    position: absolute;
}

在这里阅读更多:https://www.andyshora.com/css-image-container-padding-hack.html

关于html - 为自动调整大小的 img 保留空间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16735988/

相关文章:

css - 具有 float 和全宽布局的响应图像

html - 字体未正确呈现

css - 样式输入类型范围,不同浏览器的高度差异

javascript - 使用 JavaScript 和 CSS 按类为 HTML 标记着色

javascript - 使用 $.get 调用文件时 socket.io 事件不起作用

javascript - 将列表拆分为两列。列表没有 block ,但需要在最近的 <p> 标签上拆分

html - 带有复选框的目标 div

html - P 标签不会在小屏幕上向下移动

html - 媒体查询、内联 block 和文本对齐对齐

javascript - Jquery iframe 准备就绪