css有哪些方式可以實(shí)現(xiàn)垂直居中

大家好,我是IT修真院上海分院3期的學(xué)員,一枚正直純潔善良的web前端程序員

今天給大家分享一下,修真院官網(wǎng)css任務(wù)8的知識(shí)點(diǎn)——css有哪些方式可以實(shí)現(xiàn)垂直居中?

1.背景介紹

居中是前端排版的一個(gè)重要話題,今天我們就來(lái)梳理一下垂直居中的方法。

2.知識(shí)剖析

布局的解決方案,基于盒狀模型,依賴(lài) display 屬性 + position屬性 + float屬性+flexbox,咱們就從這幾點(diǎn)入手。

3.常見(jiàn)問(wèn)題

垂直居中的方式

4. 解決方案

HTML如下:

<div class="wrap">

? ? <div class="sub">

? ? ? ? <span>IT修真院</span>

? ? </div>

</div>

默認(rèn)的ss樣式:

.wrap{

width:600px;

height:600px;

background:#b442e9;

}

.sub{

font-size:5rem;

background:#e7e6f0;

}

方法1:只需要簡(jiǎn)單地把 line-height 設(shè)置為那個(gè)對(duì)象的 height 值就可以使文本居中了。

.sub{

height:400px;

line-height:400px;

}

方法2:position:relative 子元素必須設(shè)置高度

.wrap{

position:relative;

}

.sub{

position:absolute;

top:0;

bottom:0;

margin:auto;

height:100px;

}

方法3:position:relative

.wrap{

position:relative;

}

.sub{

position:absolute;

top:50%;

margin-top:-50px;

height:100px;

}

方法4:position: relative 類(lèi)似上一中方法

.wrap{

position:relative;

}

.sub{

position:absolute;

top:50%;

transform:translateY(-50%);

}

方法5: calc

.sub{

position:relative;

height:100px;

top:calc(50% -50px);

}

方法6:父元素設(shè)置flex

.wrap{

display:flex;

align-items:center;

}

方法7:父元素設(shè)置flex,子元素margin:auto

.wrap{

display:flex;

}

.sub{

margin:auto;

}

方法8: table布局 父元素設(shè)置table,子元素設(shè)置table-cell

.wrap{

display:table;

}

.sub{

display:table-cell;

vertical-align:middle;

}

方法9:偽類(lèi)

.wrap:after{

content:"";

display:inline-block;

height:100%;

vertical-align:middle;

}

.sub{

display:inline;

vertical-align:middle;

}


5.編碼實(shí)戰(zhàn)

參考第4步

6.擴(kuò)展思考

如何水平、垂直居中?

方法1:text—align配合verti-align

.sub{

width:100%;

text-align:center;

line-height:600px;

}

方法二: position方法

.wrap{

position:relative;

}

.sub{

position:absolute;

top:50%;

left:50%;

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

}

方法三: position

.wrap{

position:relative;

}

.sub{

position:absolute;

width:200px;

height:200px;

top:0;

left:0;

right:0;

bottom:0;

margin:auto;

}

方法四: flex

.wrap{

display:flex;

justify-content:center;

align-items:center;

}

7.參考文獻(xiàn)

參考1:HTML與CSS布局技巧——垂直居中

參考2:CSS 垂直居中

參考3:HTML與CSS布局技巧——水平居中


PPT

css有哪些方式可以實(shí)現(xiàn)垂直居中

視頻



undefined_騰訊視頻
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

推薦閱讀更多精彩內(nèi)容