div+css垂直居中的五種實(shí)現(xiàn)方法

方法一:把一些 div 的顯示方式設(shè)置為表格,因此我們可以使用表格的 vertical-align屬性。
結(jié)構(gòu)效果如下:
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>
優(yōu)點(diǎn):不用受內(nèi)容高度的限制,簡單實(shí)現(xiàn)垂直居中;
缺點(diǎn):不兼容ie6,7
方法二:這個(gè)方法使用絕對(duì)定位的 div,把它的 top 設(shè)置為 50%,margin-top 設(shè)置為負(fù)的 content 高度。這意味著對(duì)象必須在 CSS 中指定固定的高度。
結(jié)構(gòu)效果如下:
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>
優(yōu)點(diǎn):兼容性好
缺點(diǎn):必須知道內(nèi)容盒子的高度才可以,有了這點(diǎn)限制;
方法三:這個(gè)方法和方法二的原理是一樣的。廢話不多說看代碼
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>
優(yōu)缺點(diǎn)和法二一樣,缺點(diǎn)嘛多了個(gè)額外的標(biāo)簽;
方法四:這個(gè)方法使用了一個(gè) position:absolute,有固定寬度和高度的 div。這個(gè) div 被設(shè)置為 top:0; bottom:0;。但是因?yàn)樗泄潭ǜ叨?,其?shí)并不能和上下都間距為 0,因此 margin:auto; 會(huì)使它居中。使用 margin:auto;使塊級(jí)元素垂直居中是很簡單的。
結(jié)構(gòu)效果如下:
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>
優(yōu)點(diǎn):非常簡單
缺點(diǎn):不兼容ie6,7
方法五:這個(gè)方法只能將單行文本置中。只需要簡單地把 line-height 設(shè)置為那個(gè)對(duì)象的 height 值就可以使文本居中了。這個(gè)就不用實(shí)例了,您你看就明白;
相關(guān)文章
- 下面小編就為大家?guī)硪黄P(guān)于div中img,span垂直居中的問題。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2016-09-26
CSS設(shè)置DIV垂直居中的N種方法 兼容IE瀏覽器
這篇文章主要為大家詳細(xì)介紹了兼容IE瀏覽器CSS設(shè)置DIV垂直居中的N種方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-07-05- 這篇文章主要介紹了CSS文本和div垂直居中方法總結(jié),包括多行文本垂直居中,單行文本垂直居中,子div垂直居中,感興趣的小伙伴們可以參考一下2016-07-04
CSS在固定寬高的div內(nèi)實(shí)現(xiàn)垂直居中的實(shí)例詳解
這篇文章主要介紹了CSS在固定寬高的div內(nèi)實(shí)現(xiàn)垂直居中的實(shí)例詳解,即在div內(nèi)部元素相對(duì)于div垂直居中的方法,需要的朋友可以參考下2016-06-03- 這篇文章主要為大家詳細(xì)介紹了CSS教程之div垂直居中的多種方法,還包括多行文本垂直居中的方法,感興趣的小伙伴們可以參考一下2016-05-05
- 下面小編就為大家?guī)硪黄孌IV水平垂直居中的兩種完美方法推薦。一起跟隨小編過來看看吧。希望給大家一個(gè)參考2016-03-15
讓Div實(shí)現(xiàn)水平或垂直居中的相關(guān)方法
這篇文章主要介紹了讓Div實(shí)現(xiàn)水平或垂直居中的相關(guān)方法,包括使用js來對(duì)實(shí)際產(chǎn)生的居中問題進(jìn)行修正的方法,需要的朋友可以參考下2015-08-06- 對(duì)于頁面上的塊級(jí)元素,只須定寬及設(shè)置margin:auto 0;即可在垂直上居中,但對(duì)于浮動(dòng)的元素垂直居中是無效的。那么我們?nèi)绾蝸硖幚磉@個(gè)問題呢,今天我們來探討下。2014-09-12
不定寬高的文字在div中垂直居中實(shí)現(xiàn)方法
下面小編就為大家?guī)硪黄欢▽捀叩奈淖衷赿iv中垂直居中實(shí)現(xiàn)方法。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-03-30