在iOS上的Safari中,图像大小调整失真。

问题描述 投票:0回答:1

我的目标是根据页面宽度按比例拉伸图片。我使用了以下的HTML。

<div class="idv algn_c">
  <img src="image-path.png" draggable="false">
</div>

加上以下CSS。

.idv{
    display: flex;
}
.idv img{
    max-width: 100%;
    height: auto;
    user-select: none;
}
.algn_c{
    justify-content: center;
    margin: 1.5em auto;
}

这在Chrome、FF、Edge上都能很好地工作,并能很好地缩放图像(根据其纵横比)。

enter image description here

但当我在Safari(iOS v.13.4.1)的iPhone上尝试时,它给我的是扭曲的图像。

enter image description here

我到底做错了什么?

EDIT:刚刚意识到我没有提到文档有以下元标签。

<meta name="viewport" content="width=device-width, initial-scale=1.0"/>
html css ios safari flexbox
1个回答
1
投票

@c00000fd首先添加这个元标签。<meta name="viewport" content="width=device-width, initial-scale=1.0"> 那么你必须使用 .idv {align-items: start;} .idv img{ width: 100%; }。 那么你的图片将不会被拉伸。希望对你有帮助


1
投票

找到你的布局设计的宽度,并在样式表中指定以下内容。

body {
  min-width: (layout width)px;
}

如果还不行,就在你的html部分添加以下内容。

<meta name="viewport" content="width=device-width, initial-scale=1.0"/>

如果这不是问题,尝试在图片上添加一个容器,使图片适合该容器的大小,并在之前使用 <div>. 在容器中,指定 align-items: flex-start (也可替换为 startself-start). 像这样。

.idv {
  display: flex;
}

.idv section:first-child {
  display: flex;
  align-items: flex-start;
}

.idv img {
  width: 240px;
  /* Insert the actual width of your image here */
  height: auto;
}
<div class="idv">
    <img src="image-path.png">
</div>

换掉... align-items: flex-start;flex-direction: column; 应该也可以。

© www.soinside.com 2019 - 2024. All rights reserved.