css - CSS调整多个图像的大小,使它们具有自定义宽度,但纵横比相同
问题描述
如果我有多个具有不同纵横比的图像,但希望它们都被调整大小以使宽度相等,但改变高度以保持原始纵横比,我可以用 JS 和数学来做到这一点,但是否有短解决方案?
解决方案
是的,只需设置width
使用 CSS 而不是设置height
,高度将在保持纵横比的同时为您调整。
img { width: 100px }
<img src=https://i.stack.imgur.com/w5PGK.jpg">
但请注意,如果您担心高度可能会变得非常大,您也可以使用max-height
来限制它。但这样做可能会扭曲图像:
img { width: 100px; max-height: 160px }
<img src=https://i.stack.imgur.com/w5PGK.jpg">
一种解决方案是在图像上设置一个max-width
和max-height
:
img { max-width: 100px; max-height: 120px }
<img src=https://i.stack.imgur.com/w5PGK.jpg">
并且图像将包含在具有适当纵横比的框中。
还有一些技巧,比如创建一个固定大小的查看框,并设置overflow: hidden
将显示区域限制为框的大小,同时为图像设置一个固定的宽度:
.image-box { width: 100px; height: 100px; overflow: hidden }
.image-box img { width: 100px }
<div class="image-box">
<img src=https://i.stack.imgur.com/w5PGK.jpg">
</div>
推荐阅读
- python - 如何查找对象中的所有类
- google-app-engine - Google Cloud Platform 上的双向 TLS 身份验证
- opencv - 在视频流上叠加 FEA
- git - 关于如何为不同的人安排不同的代码格式的工具或想法
- reactjs - 如何正确重构反应钩子嵌套函数
- android - Android Fragment Manipulation
- angular - 如何将在 TypeScript 中定义为字符串的 Angular 模板解析为具有正确绑定的有效 HTML
- reactjs - Rendering different component inside a component in React
- python - How to add a text-field-placeholder using WTForms-Alchemy
- angular - Delay the route canActivate method call till backend service return result in angular 7