溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

如何使用純CSS實(shí)現(xiàn)垂直居中

發(fā)布時間:2022-03-01 09:34:38 來源:億速云 閱讀:152 作者:小新 欄目:web開發(fā)

這篇文章主要為大家展示了“如何使用純CSS實(shí)現(xiàn)垂直居中”,內(nèi)容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領(lǐng)大家一起研究并學(xué)習(xí)一下“如何使用純CSS實(shí)現(xiàn)垂直居中”這篇文章吧。

    垂直居中是布局中十分常見的效果之一,為實(shí)現(xiàn)良好的兼容性,PC端實(shí)現(xiàn)垂直居中的方法一般是通過絕對定位,table-cell,負(fù)邊距等方法。有了css3,針對移動端的垂直居中就更加多樣化。

    方法1:table-cell

    html結(jié)構(gòu):

    <divclass="boxbox1">

    <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:絕對定位和負(fù)邊距

    .box3{position:relative;}

    .box3span{

    position:absolute;

    width:100px;

    height:50px;

    top:50%;

    left:50%;

    margin-left:-50px;

    margin-top:-25px;

    text-align:center;

    }

    方法4:絕對定位和0

    .box4span{

    width:50%;

    height:50%;

    background:#000;

    overflow:auto;

    margin:auto;

    position:absolute;

    top:0;left:0;bottom:0;right:0;

    }

    這種方法跟上面的有些類似,但是這里是通過margin:auto和top,left,right,bottom都設(shè)置為0實(shí)現(xiàn)居中,很神奇吧。不過這里得確定內(nèi)部元素的高度,可以用百分比,比較適合移動端。

    方法5:translate

    .box6span{

    position:absolute;

    top:50%;

    left:50%;

    width:100%;

    transform:translate(-50%,-50%);

    text-align:center;

    }

    這實(shí)際上是方法3的變形,移位是通過translate來實(shí)現(xiàn)的。

    方法6:display:inline-block

    .box7{

    text-align:center;

    font-size:0;

    }

    .box7span{

    vertical-align:middle;

    display:inline-block;

    font-size:16px;

    }

    .box7:after{

    content:'';

    width:0;

    height:100%;

    display:inline-block;

    vertical-align:middle;

    }

    這種方法確實(shí)巧妙...通過:after來占位。

    方法7:display:flex和margin:auto

    .box8{

    display:flex;

    text-align:center;

    }

    .box8span{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)造性的效果,需要好好研究下。

    方法9:display:-webkit-box

    這種方法,在content元素外插入一個div。設(shè)置此divheight:50%;margin-bottom:-contentheight;。

    content清除浮動,并顯示在中間。

    <divclass="floater"></div>

    <divclass="content">Contenthere</div>

    .floater{

    float:left;

    height:50%;

    margin-bottom:-120px;

    }

    .content{

    clear:both;

    height:240px;

    position:relative;

    }

    優(yōu)點(diǎn):

    適用于所有瀏覽器

    沒有足夠空間時(例如:窗口縮小)content不會被截斷,滾動條出現(xiàn)

    缺點(diǎn):

    唯一我能想到的就是需要額外的空元素了(也沒那么糟,又是另外一個話題)

如何使用純CSS實(shí)現(xiàn)垂直居中


以上是“如何使用純CSS實(shí)現(xiàn)垂直居中”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學(xué)習(xí)更多知識,歡迎關(guān)注億速云行業(yè)資訊頻道!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

css
AI