【发布时间】:2014-01-15 05:32:09
【问题描述】:
我有一个网页,它会在不同的时间显示不同的图像。有些图像比网页宽,有些更高,有些两者兼而有之。有没有办法使用 CSS 来限制两者中的较大者(例如,如果图像对于屏幕来说太宽,图像会减小高度和宽度以保持纵横比相同,直到宽度适合。相同如果高度太高的情况)。
我设法缩小了最初约为 1500 像素 x 2000 像素的图像,使其宽度适合,但仍需要滚动条才能看到图像的底部。我已经通过具有以下内容的容器 div 实现了这一点:
#container {
min-width: 740px;
max-width: 1000px;
min-height: 100%;
margin-left: auto;
margin-right: auto;
margin-top: 10px;
}
然后将包含图像的 div 设置为 width:100% 和 height:100%。宽度改变以适合,但高度不适合!
编辑:使用下面我得到的答案中给出的两个示例:
这只是将图像限制在一定的大小,我可以通过设置图像的宽度和高度属性来做到这一点。我希望它在保持纵横比的同时最大化到屏幕,所以如果它是一个宽图像,则将显示整个宽度(尽管上下都有空白空间以保持纵横比),同样,如果它是一个高图像,则整个高度图像的显示在两侧有空白区域。对不起,如果我最初的问题没有简洁地表达这一点!
【问题讨论】:
-
您使用的是
background-image还是<img>s?如果前者尝试.image{ background-image: url("your/url/here"); background-size:contain; background-repeat:no-repeat; background-position:center; } -
很难从你的问题中理解你期望什么样的结果。如果您有一个固定容器,并且您希望不同的图像从边缘填充容器,只需使用
#container img { width:100% },图像将根据父容器大小进行缩放。 -
@Giovanni 请说明您希望您的图片显示多大?您想在保持图像纵横比的同时填充整个浏览器窗口吗?下面的两个示例都以示例大小创建了一个包装器元素,可以根据需要进行设置。如果你要改变图像的宽度和高度,那么你就会失去纵横比!再说一遍:请清楚说明您希望如何显示您的图像!最好粘贴您网站的一些代码或链接,以便我们可以看到您将图片放在什么环境中。