html - 在 DIV 容器内的类中维护图像的比率

标签 html css image class

我遇到的一件事是保持图像比例。我最终使它工作,但我过去所做的并不一致,通常通过反复试验来解决。

我的问题是尺寸属性放在哪里?在 div 容器类或图像类? 我应该包括哪些尺寸属性以保持比率。

例子:

我在一个类中有一个图像:

#img1 {
background-image: url('image1.jpg');
}

然后我有一个 DIV 容器,里面有另一个包含图像类的 div:

<div class="img-container">

        <div id="img1></div>
    </div>

我尝试添加:

最大高度:100%; 最大宽度:100%;

到图像类。

以及容器的实际图像像素大小,但这不起作用。

任何人都可以提供的任何帮助和提示/技巧都会很棒!谢谢

最佳答案

如果你知道图像的高度和宽度,你可以这样,其中 52.42% 是纵横比。

//markup
<div class="img1" style="background-img:url('image1.jpg')"></div>

//css
.img1 {
   width: 100%;
   height: 0;
   display: block;
   padding: 52.42% 0 0 0;
   position: relative;
   overflow: hidden;
   background-size: cover;
   background-repeat: no-repeat;
   background-position: center;
}

如果您不关心原始图像的纵横比,而宁愿强加自己的纵横比,上述方法也适用。上面的类将在视觉上裁剪图像以使其适合框。例如,52.42% 的纵横比大约是 facebook 的帖子封面图片纵横比。

关于html - 在 DIV 容器内的类中维护图像的比率,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57200345/

相关文章:

javascript - asp.net自动生成Javascript吗?

jquery - 从具有相同类别的图像中获取不同的高度和宽度并将其应用于它们的 sibling

css - RAZOR 中的标签重载无效

html - 表格行的边框半径和阴影

javascript - 如何用我的下拉列表溢出我的固定页脚

html - 背景变成白色而不是透明(Bootstrap)

css - 如何让 CodeFlask 代码编辑器样式与 Vuetify 正常工作

javascript - 如何在react中加载图像并转换为blob

android - Webview - 从设备上传图像的最佳方式

css - 响应式图片不适合手机屏幕