【发布时间】:2015-05-12 08:28:38
【问题描述】:
我在 CSS 中使用 background-size: cover;,虽然它运行良好,但我注意到一旦它“启动”,那么您可能会遇到背景图像的整个 height 不显示的问题。
例如,我有这样的代码:
#home .top {
min-height: 768px;
background: #fff url('../images/home-bg-lg.jpg') center top no-repeat;
background-size: cover;
-webkit-background-size: cover;
-moz-background-size: cover;
-o-background-size: cover;
}
现在,min-height: 768px; 指的是图像的实际高度,所以我设置它以确保无论内容如何,它始终显示完整高度;但是很明显,一旦背景大小开始增加,height 也会增加,因此 768px 大小不再足够大,并且很多背景都没有显示。
有没有办法用CSS解决这个问题,如果没有,用JavaScript怎么样,最好是jQuery?
如果只是一个 JavaScript/jQuery 解决方案,可能值得一提的是我使用 breakpoints 并以较小的分辨率使用较小的背景图像;无需对这些应用任何内容。
编辑:为了澄清,我想知道是否有可能在它展开时始终显示图像的完整高度。因此,例如,如果它使用的是1600 x 768 的图像并且有人以1920 x 900 分辨率查看它,那么它将扩展到1920px 宽度,因此如果min-height 可以更改为922px 会很好那现在应该是正确的高度吗?
【问题讨论】:
-
嘿布雷特,你能澄清一下你想要它做什么吗?我在这里做了一个小提琴:jsfiddle.net/5uyxsxn4。图像扩展以填充整个 div(屏幕)。这是你想要的吗?您想始终显示全高并在左/右有白色边框吗?
-
您想始终看到整个背景图像而不管纵横比如何?
-
@MartinGottweis 我编辑了我的问题以澄清。
-
@Samurai 请参阅编辑。
-
哦,我不确定我现在明白了。你有这个问题的演示网站吗?设置为覆盖的背景大小将扩展图像以填充 div。另一种选择是拉伸图像,这听起来不太可能。
标签: javascript jquery css background-size