html - CSS移动图像失真问题
问题描述
我正在一个网站上工作,该网站有一个由三个图像组成的面板,这些图像在屏幕上形成了一种横幅。像这样,就像第一张图片一样。当我在 iPhone 或 iPad 上查看时,图像被垂直拉伸,如第二张图所示。这似乎不是浏览器问题,因为问题在 Chrome 和 Safari 上都存在,但这也不仅仅是视口宽度的问题,因为当我在计算机上使用相同的 vw 时,我没有得到这个问题。我清除了浏览器缓存,问题仍然存在。有趣的是,并非网站上的所有图片都是如此。他们中的大多数人没有这个问题。
桌面:https ://ibb.co/TWQ4S70 移动:https ://ibb.co/Km7k4NF
所附图片的 HTML 和 CSS 如下:
HTML:
<div class="panel-3">
<img src="/img/matthew-james-dunham.jpg" title="Matthew Weathers (MM 2019), playing in masterclass for Rice University viola professor James Dunham"
><img src="/img/nuso-violas.jpg" title="Members of the studio play in the Northwestern University Symphony Orchestra viola section"
><img src="/img/sae-rheen.jpg" title="Sae Rheen Kim (BM 2020) plays in studio class">
</div>
CSS:
.panel-3 {
display: flex;
padding: 10px;
}
.panel-3 img {
width: calc(100% / 3);
}
知道这里会发生什么吗?
解决方案
图像失真从来都不是一件有趣的事。一个简单的解决方案是使用object-fit css 属性来定义图像在其容器变形时的行为。
panel-3 {
display: flex;
padding: 10px;
}
.panel-3 img {
width: calc(100% / 3);
height: auto;
object-fit: cover;
}
推荐阅读
- snowflake-cloud-data-platform - Snowflake 虚拟仓库使用注意事项
- docker - docker-compose 强制服务创建单独的容器,即使图像相同
- reactjs - 获取 ReactJS 项目使用 nextJs 而不是 React-Router 的 URL 路径
- c# - 在 C# 中使用 LINQ 按范围排序列表
- virtualalloc - 为什么存在 Virtualallocex 函数?
- c# - 如何将多个构造函数添加到结构?
- xlsxwriter - xlsxwriter 修改工作表字体
- python - Flask 或 Click 是否需要 Colorama?
- java - 水平缩放与反应弹簧
- concurrency - 了解供应块点(按需供应)