编辑:在阅读我最初在下面写的内容之前,我想更清楚地说明这一点......我正在创建一个网站,使用三个部分相互浮动。我使用链接从一个部分滚动到另一个部分。滚动到该部分时,我希望该部分的背景适合浏览器屏幕大小。如果在仍然查看页面的该部分时浏览器被调整大小,我希望背景“捕捉”到窗口并继续填充屏幕。目前,这只发生在最左边的部分。
我不确定这是否可能,但我想我会看到的。我一直在研究本网站教程中的单页策略:http: //jqueryheaven.com/2012/08/building-a-one-page-portfolio-with-jquery-slide/
虽然本教程使用了许多不同的部分,但我只让我的网站使用 3 或 4 个。无论哪种方式,我都试图弄清楚如何让每个部分适应浏览器窗口,无论您调整窗口大小有多大或多小. 到目前为止,在教程和我制作的网站上,只有最左边的部分适合窗口。其余部分不会调整大小以适应。
这是我到目前为止的代码:
HTML(我省略了容器内的内容:
<div id="main">
<section id="artwork" class="box">
</section>
<section id="home" class="box">
</section>
<section id="contact" class="box">
</section>
</div>
CSS(尝试对部分使用 100% 的宽度和高度,以及 background-size:cover,但没有任何效果):
.box {
float:left;
}
#artwork {
background: #b4c620;
width:100%;
height:100%;
background-size:cover;
}
#home {
background: #58267a;
with:100%;
height:100%;
background-size:cover;
}
#contact{
background: #b4c620;
width:100%;
height:100%;
background-size:cover;
}
脚本(也取自教程,正如我所提到的,它只调整第一个部分框的大小,(#artwork,)而不是其余部分。虽然,如果您在调整浏览器大小后链接到该部分,该部分会适合。):
<script type="text/javascript">
function resizeBoxes() {
var browserWidth = $(window).width();
var browserHeight = $(window).height();
$('#main').css({
width: browserWidth*3,
});
$('.box').css({
width: browserWidth,
height: browserHeight,
});
}
resizeBoxes();
$(window).resize(function() {
resizeBoxes();
});
$('nav ul li a').click(function(){
return false;
});
</script>
<script type="text/javascript">
function goTo(horizontal,vertical) {
var browserWidth = $(window).width();
var browserHeight = $(window).height();
$('#main').animate({
marginLeft: '-'+browserWidth*horizontal,
marginTop: '-'+browserHeight*vertical,
}, 1000);
}
</script>
我希望你明白我想要完成什么。我是新手,所以如果我的编码一团糟,我很抱歉。如果您能帮助我找到解决方案,我将不胜感激!谢谢。