css垂直居中

垂直居中有幾種實(shí)現(xiàn)方式

  1. 父元素上下padding設(shè)置成一樣大小
    代碼
    2.絕對(duì)定位
    position: absolute;
    left: 50%;
    top:50%;
    margin-left: -自身寬/2;
    margin-top: -自身高/2; /* 或者transform: translate(50%, 50%) //自身寬高50% */

代碼

3.vertical-align: middle; // 行內(nèi)元素和表格
在使用到vertical-align: middle;的時(shí)候,我發(fā)現(xiàn)不起作用。經(jīng)過(guò)看視頻和百度,才發(fā)現(xiàn)我的理解是有問(wèn)題的,不只是單單給想要的元素上加上displsy: inline-block; vertical-align: middle;,而是要明白,這個(gè)vertical-align: middle是以該屬性定義行內(nèi)元素的基線相對(duì)于該元素所在行的基線的垂直對(duì)齊。有點(diǎn)繞,研究之后發(fā)現(xiàn),其實(shí)說(shuō)的就是 它其實(shí)要與另一個(gè)元素對(duì)齊,是以另一個(gè)元素來(lái)做參照物的,兩個(gè)元素都設(shè)置了vertical-align: middle;才可以實(shí)現(xiàn)在同一個(gè)容器中垂直居中對(duì)齊。例如下面的示例,假設(shè)有兩個(gè)行內(nèi)元素a和b,a和b都是img,當(dāng)a加了一個(gè)vertical-align:middle樣式之后,b的底部(基線)就會(huì)對(duì)齊a的中間位置,如圖:

title
title

如果a和b都加了一個(gè)vertical-align:middle樣式,那么就互相對(duì)齊了對(duì)方的中間位置,也就是它們?cè)诖怪狈较蛏系闹芯€對(duì)齊了,如圖:
title
title

那么現(xiàn)在我想要一個(gè)div元素在另一個(gè)div父容器下實(shí)現(xiàn)垂直居中,那么我就可以在同一個(gè)父容器中添加一個(gè)看不見(jiàn)的元素,高度設(shè)置為100%,那么我這個(gè)div就可以實(shí)現(xiàn)在父容器中垂直居中了。
title
title

那么實(shí)現(xiàn)時(shí),就可以利用偽類:before來(lái)做一個(gè)看不見(jiàn)的參照物元素,

.ct:before {
            content: "";
            height: 100%;
            display: inline-block;
            vertical-align: middle;
        }

具體代碼
參考文章

4.table-cell
使用table-cell垂直居中,需要在父容器上設(shè)置display: table-cell; vertical-align: middle;
代碼

實(shí)現(xiàn)如下效果,每種效果都只使用一個(gè)html 標(biāo)簽來(lái)實(shí)現(xiàn)

tips代碼

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • [if !supportLists]1.[endif]使用絕對(duì)定位和負(fù)外邊距對(duì)塊級(jí)元素進(jìn)行垂直居中 我是測(cè)試D...
    年華似水_502b閱讀 354評(píng)論 0 0
  • 轉(zhuǎn)載自:CSS垂直居中的11種實(shí)現(xiàn)方式還有篇清除浮動(dòng)的文章:css清除浮動(dòng)大全共8種方法 本人前端小白,正在做一個(gè)...
    路漫漫其修遠(yuǎn)兮Wzt閱讀 551評(píng)論 0 1
  • 來(lái)至網(wǎng)絡(luò) 1.使用絕對(duì)定位負(fù)邊距居中 這個(gè)方法兼容性不錯(cuò),缺點(diǎn)必須提前知道被居中快元素的高度, 2.使用絕對(duì)定位+...
    如果俞天陽(yáng)會(huì)飛閱讀 289評(píng)論 0 0
  • 使用絕對(duì)定位和負(fù)外邊距對(duì)塊級(jí)元素進(jìn)行垂直居中 html代碼: css代碼: 運(yùn)行結(jié)果如下: 這個(gè)方法兼容性不錯(cuò),但...
    深沉的簡(jiǎn)單閱讀 329評(píng)論 0 2
  • 注:以下demo都只是針對(duì)現(xiàn)代瀏覽器所做,未兼容低版本的IE以及其他非主流瀏覽器。 11種實(shí)現(xiàn)方式如下: 1.使用...
    廊橋夢(mèng)醉閱讀 46,766評(píng)論 1 59

友情鏈接更多精彩內(nèi)容