我正在处理图像,我遇到了纵横比问题。
<img src="big_image.jpg" width="900" height="600" alt="" />
如您所见,高度和宽度已经指定。我为图像添加了CSS规则:
img {
max-width: 500px;
}
但对于big_image.jpg,我得到的宽度=500,高度=600。如何设置图像的大小,同时保持其纵横比。
我正在处理图像,我遇到了纵横比问题。
<img src="big_image.jpg" width="900" height="600" alt="" />
如您所见,高度和宽度已经指定。我为图像添加了CSS规则:
img {
max-width: 500px;
}
但对于big_image.jpg,我得到的宽度=500,高度=600。如何设置图像的大小,同时保持其纵横比。
当前回答
要保持响应图像,同时仍然强制图像具有一定的纵横比,可以执行以下操作:
HTML格式:
<div class="ratio2-1">
<img src="../image.png" alt="image">
</div>
和SCSS:
.ratio2-1 {
overflow: hidden;
position: relative;
&:before {
content: '';
display: block;
padding-top: 50%; // ratio 2:1
}
img {
position: absolute;
top: 0;
left: 0;
bottom: 0;
right: 0;
}
}
无论作者上传的图像大小如何,这都可以用于强制执行特定的纵横比。
感谢@Ksesohttp://codepen.io/Kseso/pen/bfdhg.查看此URL以了解更多比率和工作示例。
其他回答
这里有一个解决方案:
img {
width: 100%;
height: auto;
object-fit: cover;
}
这将确保图像始终覆盖整个父对象(向下和向上缩放)并保持相同的纵横比。
与这里的一些答案非常相似,但在我的案例中,我的图像有时更高,有时更大。
这种风格就像一种魅力,确保所有图像都使用所有可用空间,保持比例而不是剪切:
.img {
object-fit: contain;
max-width: 100%;
max-height: 100%;
width: auto;
height: auto;
}
可以使用纵横比属性css
.my-image {
aspect-ratio: 1/1; // square
aspect-ratio: 16/9; // wide screen 1080p
aspect-ratio: 4/3;
aspect-ratio: 2/3;
}
国际货币基金组织{显示:块;最大宽度:230px;最大高度:95px;宽度:自动;高度:自动;}<p>此图像最初为400x400像素,但应通过CSS调整大小:</p><img width=“400”height=“400”src=“http://i.stack.imgur.com/aEEkn.png">
如果图像对于指定区域太大,这将使图像收缩(作为缺点,它不会放大图像)。
只需将高度属性替换为纵横比属性。
国际货币基金组织{最大宽度:500px;纵横比:900/600;}<img src=“big_image.png”width=“900”/>
纵横比属性不是必需的,但可以防止图像布局偏移。