javascript - 如何将不同纵横比的图像制作成相同的宽度和高度而不被裁剪?
问题描述
我有多个div
名为card
. 我需要我的所有人都div
具有相同的高度和相同的宽度。我想将图像添加到那些div
. 我有不同纵横比的不同图像。我也想在 div 中填充整个图像。(我想防止裁剪图像)。因此,如果我可以先将所有图像转换为相同的纵横比,那应该没问题。然后我可以设置.card-img {width=100%}
. 所有图像的高度应该相同,因为.card
具有相同的宽度并且所有图像具有相同的纵横比。正如我所提到的,我怎样才能完成这项工作?
<div class="card">
<img class="card-img" src="img-1.jpg" alt="" />
</div>
<div class="card">
<img class="card-img" src="img-2.jpg" alt="" />
</div>
<div class="card">
<img class="card-img" src="img-3.jpg" alt="" />
</div>
.card{
width: 270px
height: 400px;
}
假设 img-1.jpg、img-2.jpg、img-3.jpg 具有不同的纵横比。
解决方案
您不能在不裁剪或扭曲图像的情况下强制图像具有与其自然图像不同的纵横比。你说你不想裁剪,所以这是不可能的,你不太可能想要扭曲它(在一个方向或另一个方向上拉伸它)。
您可以做的是确保整个图像始终可见是使用contain
而不是cover
.
显然,这意味着在某些情况下,卡片的顶部和底部或侧面都会有空间,但这是不裁剪要求的必然结果。
推荐阅读
- python - 如何在数据库中保存波斯数字(mysql)
- c# - 如何迭代/遍历 XML 文件元素(包含不同的命名空间)以将其转换为 C# 中的数据表
- azure-devops - 如何在 VSTS 中发布管道后运行管道?
- excel - VBA剪切整行并在更改时粘贴到下一列
- ios - 如何从字典数组中获取数据 - swift
- java - Java 9 替换 Class.newInstance
- office365 - 如何从 powerapps 为 Office 365 环境中的用户启用自定义角色
- amazon-web-services - 如何将 S3 数据向上移动到一个分区级别?
- microservices - Hystrix 仪表板指标正在重置
- r - 可选函数参数