我对网络开发和网络设计很陌生,我现在正在为一家公司开发一个网站(www.momentium.no)。他们希望顶部的背景图像能够识别浏览器的窗口大小,以便图像填满整个屏幕,并且在加载网站时向下滚动之前不显示下面的内容。
你们中的任何人都可以检查一下吗?能得到一点帮助会很棒!
谢谢, 英格瓦尔
我对网络开发和网络设计很陌生,我现在正在为一家公司开发一个网站(www.momentium.no)。他们希望顶部的背景图像能够识别浏览器的窗口大小,以便图像填满整个屏幕,并且在加载网站时向下滚动之前不显示下面的内容。
你们中的任何人都可以检查一下吗?能得到一点帮助会很棒!
谢谢, 英格瓦尔
使用 CSS 将高度设置为 100% 会起作用,但您必须修改 HTML 结构以在调整窗口大小时保持其流畅。
否则,您可以尝试以下代码片段:
JS:
var $imageWrapper = $('#background-image'),
$contentSpacer = $('section#wrapper > header'),
// Some buffer value, adjust this to get the rest of the content aligned properly
buffer = 200;
// Set the div height on pageload
$(document).ready(function() {
var windowHeight = $(window).height();
$imageWrapper.height( windowHeight );
$contentSpacer.height( windowHeight );
});
// Change the div height on window resize
$(window).resize(function() {
var $this = $(this),
thisHeight = $this.height();
// Set the height of the image container to the window height
$imageWrapper.height( thisHeight );
$contentSpacer.height( thisHeight - buffer );
});
CSS:
#background-image {
background-size: cover;
// Change this to the minimum height your page will support
min-height: 600px;
}
您拥有的其余代码似乎是正确的,因此添加这些代码应该可以解决问题。这里要记住几件事:
JS 对此处应用的高度没有任何限制,因此即使将窗口大小调整为 10px 高度,CSS 仍将适用。大多数设计在中断之前都有最小高度/宽度,因此min-height
在您的#background-image
div 上使用 a 可能是个好主意。
在实施之前检查浏览器支持,如果您需要支持其中一个不受支持的浏览器,您需要编写一个后备或重组您的代码,使其优雅地降级。不过,IE9+、Chrome21+ 和 FF26+ 应该已经足够好了。
看起来您在主要部分中使用了一个分隔符,以确保页面内容在主滑块之后出现。可以修改页面的结构,这样您就不必修改两个元素的高度。正如我在开始时提到的,如果您进行重组,您可能可以使用纯 CSS 解决方案。
您可以有 2 个解决方案:
$(window).height()
和$(window).width
唯一的方法是为您的公司创建一个响应式设计......所有问题都将通过响应式设计来解决......
您可以将“背景图像”div 的高度设置为 100%,它会起作用。
检查此代码:
#background-image {
width: 100%;
height: 100% !important;
position: absolute !important;
overflow: hidden;
text-align: center;
background: #000;
}