我正在处理图像,我遇到了纵横比问题。
<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。如何设置图像的大小,同时保持其纵横比。
当前回答
将图像容器标记的CSS类设置为图像类:
<div class="image-full"></div>
并将其添加到CSS样式表中。
.image-full {
background: url(...some image...) no-repeat;
background-size: cover;
background-position: center center;
}
其他回答
国际货币基金组织{显示:块;最大宽度:230px;最大高度:95px;宽度:自动;高度:自动;}<p>此图像最初为400x400像素,但应通过CSS调整大小:</p><img width=“400”height=“400”src=“http://i.stack.imgur.com/aEEkn.png">
如果图像对于指定区域太大,这将使图像收缩(作为缺点,它不会放大图像)。
https://jsfiddle.net/sot2qgj6/3/
如果你想用固定的宽度百分比,而不是固定的宽度像素来放置图像,这就是答案。
这在处理不同大小的屏幕时很有用。
诀窍是
使用padding top设置高度与宽度之间的距离。使用position:absolute将图像放入填充空间。使用最大高度和最大宽度确保图像不会覆盖父元素。使用display:block和margin:auto将图像居中。
我也评论了小提琴中的大部分技巧。
我还找到了其他方法来实现这一点。在html中不会有真实的图像,所以当我需要html中的“img”元素时,我个人更倾向于首选答案。
使用背景的简单csshttp://jsfiddle.net/4660s79h/2/
顶部有单词的背景图像http://jsfiddle.net/4660s79h/1/
使用位置绝对值的概念如下http://www.w3schools.com/howto/howto_css_aspect_ratio.asp
全屏演示:
img[data-attribute] {height: 100vh;}
请记住,如果观察端口高度大于图像,则图像将相对于差异自然降级。
这里有一个解决方案:
object-fit: cover;
width: 100%;
height: 250px;
您可以调整宽度和高度以满足您的需要,对象拟合属性将为您进行裁剪。
有关对象拟合属性和兼容性表的可能值的更多信息,请参见:https://developer.mozilla.org/en-US/docs/Web/CSS/object-fit
只需将此添加到css中,它将自动收缩和扩展,并保持原始比例。
img {
display: block;
max-width: 100%;
max-height: 100%;
width: auto;
height: auto;
}