css實(shí)現(xiàn)元素垂直居中的常用方法(總結(jié))

方法1:table-cell
html結(jié)構(gòu):
<div class="box box1"> <span>垂直居中</span> </div>
css:
.box1{ display: table-cell; vertical-align: middle; text-align: center; }
方法2:display:flex
.box2{ display: flex; justify-content:center; align-items:Center; }
方法3:絕對(duì)定位和負(fù)邊距
.box3{position:relative;} .box3 span{ position: absolute; width:100px; height: 50px; top:50%; left:50%; margin-left:-50px; margin-top:-25px; text-align: center; }
方法4:絕對(duì)定位和0
.box4 span{ width: 50%; height: 50%; background: #000; overflow: auto; margin: auto; position: absolute; top: 0; left: 0; bottom: 0; right: 0; }
這種方法跟上面的有些類似,但是這里是通過(guò)margin:auto和top,left,right,bottom都設(shè)置為0實(shí)現(xiàn)居中,很神奇吧。不過(guò)這里得確定內(nèi)部元素的高度,可以用百分比,比較適合移動(dòng)端。
方法5:translate
.box6 span{ position: absolute; top:50%; left:50%; width:100%; transform:translate(-50%,-50%); text-align: center; }
這實(shí)際上是方法3的變形,移位是通過(guò)translate來(lái)實(shí)現(xiàn)的。
方法6:display:inline-block
.box7{ text-align:center; font-size:0; } .box7 span{ vertical-align:middle; display:inline-block; font-size:16px; } .box7:after{ content:''; width:0; height:100%; display:inline-block; vertical-align:middle; }
這種方法確實(shí)巧妙...通過(guò):after來(lái)占位。
方法7:display:flex和margin:auto
.box8{ display: flex; text-align: center; } .box8 span{margin: auto;}
方法8:display:-webkit-box
.box9{ display: -webkit-box; -webkit-box-pack:center; -webkit-box-align:center; -webkit-box-orient: vertical; text-align: center }
css3博大精深,可以實(shí)現(xiàn)很多創(chuàng)造性的效果,需要好好研究下。
今天又發(fā)現(xiàn)一種方法,現(xiàn)在補(bǔ)上:
方法9:display:-webkit-box
這種方法,在 content 元素外插入一個(gè) div。設(shè)置此 div height:50%; margin-bottom:-contentheight
;。
content 清除浮動(dòng),并顯示在中間。
<div class="floater"></div> <div class="content"> Content here </div> .floater { float:left; height:50%; margin-bottom:-120px; } .content { clear:both; height:240px; position:relative; }
優(yōu)點(diǎn):
適用于所有瀏覽器
沒有足夠空間時(shí)(例如:窗口縮小) content 不會(huì)被截?cái)?,滾動(dòng)條出現(xiàn)
總結(jié)
以上所述是小編給大家介紹的css實(shí)現(xiàn)元素垂直居中的常用方法,希望對(duì)大家有所幫助,如果大家有任何疑問請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
相關(guān)文章
- 這篇文章主要介紹了css實(shí)現(xiàn)元素居中的N種方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2021-02-02
- 這篇文章主要介紹了css實(shí)現(xiàn)元素垂直居中顯示的7種方式,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)2020-09-04
CSS實(shí)現(xiàn)子元素div水平垂直居中的示例
這篇文章主要介紹了CSS實(shí)現(xiàn)子元素div水平垂直居中的示例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起2020-09-03- 這篇文章主要介紹了css 不定寬高的元素居中布局解決方案,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起2019-09-18
CSS自適應(yīng)布局實(shí)現(xiàn)子元素項(xiàng)目整體居中,內(nèi)部項(xiàng)目左對(duì)齊
這篇文章主要介紹了CSS自適應(yīng)布局實(shí)現(xiàn)子元素項(xiàng)目整體居中,內(nèi)部項(xiàng)目左對(duì)齊,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們2019-09-03- 這篇文章主要介紹了css常用元素水平垂直居中方案,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)2019-08-09
- 在 CSS 中要設(shè)置元素水平垂直居中是一個(gè)非常常見的需求了。這篇文章主要介紹了CSS實(shí)現(xiàn)元素居中原理解析,本文分別從行內(nèi)元素和塊級(jí)元素進(jìn)行說(shuō)明,具有一定的參考價(jià)值,感興2018-10-18
- 作為前端攻城師,在制作Web頁(yè)面時(shí)都有碰到CSS制作水平垂直居中,我想大家都有研究過(guò)或者寫過(guò),特別的其中的垂直居中,更是讓人煩惱,下面這篇文章主要給大家匯總介紹了關(guān)于2017-09-12
css實(shí)現(xiàn)元素水平垂直居中常見的兩種方式實(shí)例詳解
這篇文章主要給大家介紹了css實(shí)現(xiàn)元素水平垂直居中的兩種方式,文中給出了完整的示例代碼供大家參考學(xué)習(xí),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考價(jià)值,有需要的朋友們下面來(lái)2017-04-23關(guān)于css 行元素和塊元素 相互轉(zhuǎn)換 居中
下面小編就為大家?guī)?lái)一篇關(guān)于css 行元素和塊元素 相互轉(zhuǎn)換 居中。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2016-08-05