注意:我已将该页面上传到我的网站,因此希望它会更容易解决:
http://www.jasonkahl.co.uk/div-center/index.html
我正在开发一个使用视差效果的小型网站。
但是,我希望我的第一个图像是 div 中的背景图像,当用户继续时,它始终位于屏幕的中心。因此,我使用以下脚本将名为#second .bg的 DIV 居中:
<script type='text/javascript'>
function CenterItem(theItem){
var winHeight=$(window).height();
var windowMiddle=winHeight/2;
var itemMiddle=$(theItem).height()/2;
var theMiddle=windowMiddle-itemMiddle;
if(winHeight>$(theItem).height()){ //vertical
$(theItem).css('top',theMiddle);
} else {
$(theItem).css('top','0');
}
}
$(document).ready(function() {
CenterItem('#second .bg');
});
$(window).resize(function() {
CenterItem('#second .bg');
});
</script>
DIV 本身居中,但背景图像不居中,最终看起来像这样(注意:蓝色框是 div 位置):
这就是删除脚本时发生的情况:
那么如何让背景图像位于 DIV 的中心呢?
如果它有帮助,那就是如何在 html 中设置 div:
<div id="second">
<div class="story"><div class="bg"></div>
</div> <!--.story-->
</div> <!--#second-->
这是CSS:
#second .bg{
background: url(images/logo.png) 50% 0 no-repeat fixed ;
height: 380px;
margin: 0 auto;
padding: 0;
position: absolute;
background-position: center center;
width: 960px;
z-index: 200;
}
谢谢