ios - 3000x3000px img 在移动设备上具有 100% 的宽度 Safari/iOS 表示 img 高度仍然是 3000px

标签 ios css mobile-safari

如果我使用调试开发工具在 Safari Mobile/iOS 中检查 img,它会显示一个非常细长的矩形,宽 320 像素(iPhone 的宽度)但高 3000 像素。然而,图像并未拉伸(stretch),它的纵横比明显保持不变,因此看起来不错。但是错误的是图像的高度是 3000px。它的高度应该是 320px(在这种情况下是方形图像)。我在这里缺少什么?

body {
  width: 100vw;
  height: 100vh;
  height: calc(var(--vh, 1vh) * 100);
  position: static;
}

section {
  width: 100vw;
  display: flex;
  padding: 64px;
}
<body>
  <section>
    <img src="myimg.svg" width='100%'>
  </section>
</body>

我还在 CSS 中旋转图像,如果这会有所不同,请在 animation 中使用 transform: rotate(...)

最佳答案

您必须为 img 指定 height: auto 以确保缩放到宽度,因为将应用图像的原始高度。

<img src="myimg.svg" width='100%' style="height: auto;">

关于ios - 3000x3000px img 在移动设备上具有 100% 的宽度 Safari/iOS 表示 img 高度仍然是 3000px,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57302093/

相关文章:

android - 在 flutter 应用程序中添加时间选择器的正确方法是什么?

php - 照片在不同浏览器中旋转 90 度

html - float WhatsApp 按钮 HTML 和 CSS

ios - 在 Swift 中检测两个对象之间的碰撞

android - Phonegap 应用程序隐藏闪屏太快

ios - UIWebView 用户代理未正确设置自定义值

php - 在一行中显示社交图标

JavaScript 无法在 mac OS、iphone 中运行

ios - 如何强制显示移动 Safari 底部导航栏以编程方式显示?

html - 溢出滚动时隐藏WebKit滚动条 : touch is enabled