如何实现div+css垂直居中,这里分享四种div+css垂直居中的实现方法,使用表格的 vertical-align属性,使用绝对定位的div等均可以实现div垂直居中效果。
一、div+css垂直居中方法一:把一些 div 的显示方式设置为表格,因此可以使用表格的 vertical-align属性。
css样式代码:
复制代码 代码示例:
div#wrapper {
display: table;
width: 500px;
height: 500px;
background-color: #c00;
}
div#row {
display: table-row;
}
div#cell {
display: table-cell;
vertical-align: middle;
}
html部分:
复制代码 代码示例:
<div id="wrapper">
<div id="row">
<div id="cell">
If you want to sell sugar water for the rest of my life or want a chance to change the world
</div>
</div>
</div>
优点:不用受内容高度的限制,简单实现垂直居中;
缺点:不兼容ie6,7
二、div+css垂直居中的方法二:
使用绝对定位的 div,把它的 top 设置为 50%,margin-top 设置为负的 content 高度。
这意味着对象必须在 CSS 中指定固定的高度。
css样式代码:
复制代码 代码示例:
div#wrapper {
position: relative;
width: 500px;
height: 500px;
background-color: #c00;
}
div#content {
position: absolute;
top: 50%;
left: 0;
width: 400px;
height: 300px;
margin-top: -150px;
background-color: pink;
}
html代码:
复制代码 代码示例:
<div id="wrapper">
<div id="content">
</div>
</div>
优点:兼容性好
缺点:必须知道内容盒子的高度才可以,有了这点限制;
三、div+css垂直居中的方法三:
这个方法和方法二的原理是一样的。
css代码:
复制代码 代码示例:
.wrap {
height: 500px;
width: 500px;
background-color: pink;
}
.additional {
height: 50%;
margin-bottom: -120px;
}
#content {
height:240px;
width:70%;
background-color: #000;
}
html代码:
复制代码 代码示例:
<div class="wrap">
<div class="additional"></div>
<div id="content">
</div>
</div>
优缺点和法二一样,缺点是多了个额外的标签;
四、div+css垂直居中的方法四:
使用一个 position:absolute,有固定宽度和高度的 div。
这个 div 被设置为 top:0; bottom:0;。
但是,因为它有固定高度,其实并不能和上下都间距为 0,因此 margin:auto; 会使它居中。
使用 margin:auto;使块级元素垂直居中是很简单的。
css样式代码:
复制代码 代码示例:
#content {
position:absolute;
top:0;
bottom:0;
left:0;
right:0;
margin:auto;
height:240px;
width:70%;
background-color: #000;
}
html代码:
复制代码 代码示例:
<div id="content">
Content here</div>
优点:非常简单
缺点:不兼容ie6,7
方法五:这个方法只能将单行文本置中。只需要简单地把 line-height 设置为那个对象的 height 值就可以使文本居中了。