注意:我已将网页上传到我的网站上,所以希望它更容易解决:
http://www.jasonkahl.co.uk/div-center/index.html
我正在使用Parallax效果的小型网站上工作。
然而,当用户继续时,我希望我的第一张图像是div中的背景图像,始终位于屏幕的中央。所以我使用以下脚本将DIV居中,称为 #second .bg :
<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;
}
谢谢