CSS布局将div放在屏幕的中心

时间:2012-07-20 15:20:54

标签: html css

再次关于css布局:

#container{
width:979px;
height:590px;
margin-left:auto; //works
margin-right:auto; //works
margin-top:auto; //doesn't work
margin-bottom:auto; //doesn't work
}

所以,我希望#container放在屏幕的中心 我也试过:保证金:自动 - 没有重新开始。

8 个答案:

答案 0 :(得分:2)

最好的方法是使用display: table-cellvertical-align: middle(它不适用于IE7)。

因为我们没有您的HTML,所以我能做的最好的事情是链接到您this article,它会为您提供实现它的所有不同方法。

答案 1 :(得分:2)

或许您可以使用此解决方案:

<div class="container">
    <div class="block">
        <p>Hello world, i'm a vertical align div !</p>
    </div>    
</div>

div.bloc { 
    display:inline-block;
    vertical-align:middle;
}

答案 2 :(得分:2)

如果你想用css做,你应该通过填充手动设置它。 或者如果你想要它是动态的,你应该写一个如下的javascript: -

var a = window.outerHeight;
var b = $('#id of div').height();
var c = (a-b)/2;
$('#id of div').css("margin-top",c);

答案 3 :(得分:2)

如下:

#container{
width:979px;
height:590px;
position:absolute;
left:50%;
top:50%;
margin:-295px 0 0 -490px;
}

答案 4 :(得分:1)

你有没有尝试margin-top:50%;你可能会成功。

答案 5 :(得分:1)

如果你知道#container的高度和宽度,你可以执行以下操作:

  1. 在容器周围添加包装器div并将其设置为position:relative
  2. 将#container设置为position:absolute,top:50%,left:50%,margin-left:-XXXpx,margin-top:-XXXpx其中XXX值是#container的宽度和高度的一半

答案 6 :(得分:1)

我认为您正在寻找垂直居中,有blog关于如何做到这一点。希望对你有所帮助。

答案 7 :(得分:0)

如果您只想将容器放在屏幕中央。试试这个

CSS:

html, body { margin:0; padding:0; }

#container{
width:979px;
height:590px;
margin:0 auto;
}

HTML

<div id="container">
Data goes here
</div>

希望这有帮助