我的目标是根据页面宽度按比例拉伸图片。我使用了以下的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上都能很好地工作,并能很好地缩放图像(根据其纵横比)。
但当我在Safari(iOS v.13.4.1)的iPhone上尝试时,它给我的是扭曲的图像。
我到底做错了什么?
EDIT:刚刚意识到我没有提到文档有以下元标签。
<meta name="viewport" content="width=device-width, initial-scale=1.0"/>
@c00000fd首先添加这个元标签。<meta name="viewport" content="width=device-width, initial-scale=1.0">
那么你必须使用 .idv {align-items: start;} .idv img{ width: 100%; }。 那么你的图片将不会被拉伸。希望对你有帮助
找到你的布局设计的宽度,并在样式表中指定以下内容。
body {
min-width: (layout width)px;
}
如果还不行,就在你的html部分添加以下内容。
<meta name="viewport" content="width=device-width, initial-scale=1.0"/>
如果这不是问题,尝试在图片上添加一个容器,使图片适合该容器的大小,并在之前使用 <div>
. 在容器中,指定 align-items: flex-start
(也可替换为 start
或 self-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;
应该也可以。