我知道如何使用CSS将整个页面水平居中。但有没有办法垂直居中页面?像这样......
答案 0 :(得分:9)
MicroTut中有一篇很棒的文章要做http://tutorialzine.com/2010/03/centering-div-vertically-and-horizontally/
以CSS为中心:
.className{
width:300px;
height:200px;
position:absolute;
left:50%;
top:50%;
margin:-100px 0 0 -150px;
}
以JQuery为中心:
$(window).resize(function(){
$('.className').css({
position:'absolute',
left: ($(window).width() - $('.className').outerWidth())/2,
top: ($(window).height() - $('.className').outerHeight())/2
});
});
// To initially run the function:
$(window).resize();
您可以看到演示here
答案 1 :(得分:9)
您也可以为此目的劫持CSS的display: table
和display: table-cell
。 HTML将是这样的:
<body>
<div id="body">
<!-- Content goes here -->
</div>
</body>
CSS:
html,
body {
width: 100%;
height: 100%;
}
html {
display: table;
}
body {
display: table-cell;
vertical-align: middle;
}
如果您还想要水平居中,请添加:
#body {
max-width: 1000px; /* Or whatever makes sense for you. */
margin: 0 auto;
}
有人会称之为滥用CSS但是:
参考文献: