欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

css實(shí)現(xiàn)元素垂直居中顯示的7種方式

  發(fā)布時(shí)間:2020-09-04 16:07:33   作者:_之遙   我要評(píng)論
這篇文章主要介紹了css實(shí)現(xiàn)元素垂直居中顯示的7種方式,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧

【一】知道居中元素的寬高

absolute + 負(fù)margin

代碼實(shí)現(xiàn)

.wrapBox5{
    width: 300px;
    height: 300px;
    border:1px solid red;
    position: relative;
}
.wrapItem5{
    width: 100px;
    height: 50px;
    position: absolute;
    background:yellow;
    top: 50%;
    left:50%;
    margin-top: -25px;
    margin-left: -50px;
}

運(yùn)行結(jié)果

absolute + margin auto

代碼實(shí)現(xiàn)

.wrapBox{
    width: 300px;
    height: 300px;
    background: yellow;
    position: relative;
}
.wrapItem{
    width: 100px;
    height: 50px;
    background:green;
    display: inline-block;
    position: absolute;
    top: 0px;
    bottom:0px;
    left: 0px;
    right: 0px;
    margin:auto;
}

absolute + calc

代碼實(shí)現(xiàn)

.wrapBox6{
    width: 300px;
    height: 300px;
    border:1px solid green;
    position: relative;
}
.wrapItem6{
    width: 100px;
    height: 50px;
    position: absolute;
    background:yellow;
    top: calc(50% - 25px);
    left:calc(50% - 50px);
}

運(yùn)行結(jié)果

三種對(duì)比總結(jié)

當(dāng)居中元素知道寬高的時(shí)候,設(shè)置居中的方式比較簡(jiǎn)單單一。三種方法的本質(zhì)是一樣的,都是對(duì)居中元素進(jìn)行絕對(duì)定位,在定位到上50%,左50%后再拉回居中元素的一半寬高實(shí)現(xiàn)真正的居中。三種方式的區(qū)別就在于拉回元素本身寬高的方式不同。

【二】居中元素的寬高未知

absolute + transform

代碼實(shí)現(xiàn)

.wrapBox{
    width: 300px;
    height: 300px;
    background:#ddd;
    position: relative;
}
.wrapItem{
    width: 100px;
    height: 50px;
    background:green;
    position: absolute;
    top: 50%;
    left:50%;
    transform: translate(-50% , -50%);
}

運(yùn)行結(jié)果

原理
原理類似于已知寬高的實(shí)現(xiàn)方式,只不過(guò)當(dāng)前居中元素寬高未知,所以需要自動(dòng)獲取當(dāng)前居中元素的寬高。translate屬性正好實(shí)現(xiàn)了該功能。

優(yōu)缺點(diǎn)
優(yōu)點(diǎn):自動(dòng)計(jì)算本身的寬高
缺點(diǎn):如果同時(shí)使用transform的其他屬性會(huì)產(chǎn)生相互影響。
所以:在不使用transform的其他屬性時(shí)推薦使用該方式

flex布局

.wrapBox2{
    width: 300px;
    height: 300px;
    background: blue;
    display: flex;
    justify-content: center;
    align-items: center;
}
/*注意:即使不設(shè)置子元素為行塊元素也不會(huì)獨(dú)占一層*/
.wrapItem2{
    width: 100px;
    height: 50px;
    background:green;
}

運(yùn)行結(jié)果

原理
將父級(jí)元素設(shè)置為流式布局,根據(jù)flex布局的屬性特性,設(shè)置子元素居中。

優(yōu)缺點(diǎn)
優(yōu)點(diǎn):flex布局靈活,不需要對(duì)子元素進(jìn)行任何的設(shè)置
缺點(diǎn):具有兼容性。子元素的float、clear、position等無(wú)法使用,如果同時(shí)具有其他布局,容易產(chǎn)生影響。

table-cell布局

代碼實(shí)現(xiàn)

.wrapBox3{
    width: 300px;
    height: 300px;
    background: yellow;
    display: table-cell;
    vertical-align: middle;
    text-align: center;
}
.wrapItem3{
    width: 100px;
    height: 50px;
    background:green;
    display: inline-block;
}

運(yùn)行結(jié)果

原理
根據(jù)table的vertical-align屬性,可以在表格元素內(nèi)設(shè)置元素居中,再根據(jù)text-align設(shè)置水平居中

table元素

代碼實(shí)現(xiàn)

.tableBox{
    border:2px solid yellow;
    width: 300px;
    height: 300px;
}
.tableBox table{
    width:100%;
    height:100%;
}
.centerWrap{
    text-align: center;
    vertical-align: middle;
}
.centerItem{
    display: inline-block;
    background:pink;
}

運(yùn)行結(jié)果

總結(jié)
使用table標(biāo)簽進(jìn)行布局,主要還是使用了vertical-align屬性和text-align屬性。但是相對(duì)于上一種方式,使用table標(biāo)簽會(huì)產(chǎn)生大量的冗余代碼。不推薦使用

到此這篇關(guān)于css實(shí)現(xiàn)元素垂直居中顯示的7種方式的文章就介紹到這了,更多相關(guān)css 元素垂直居中內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持腳本之家!

相關(guān)文章

  • css實(shí)現(xiàn)元素居中的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)子元素div水平垂直居中的示例

    這篇文章主要介紹了CSS實(shí)現(xiàn)子元素div水平垂直居中的示例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起
    2020-09-03
  • css 不定寬高的元素居中布局解決方案

    這篇文章主要介紹了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常用元素水平垂直居中方案

    這篇文章主要介紹了css常用元素水平垂直居中方案,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)
    2019-08-09
  • css實(shí)現(xiàn)元素垂直居中的常用方法(總結(jié))

    本文給大家分享幾種方法介紹css實(shí)現(xiàn)元素垂直居中的常用方法,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2019-04-01
  • CSS實(shí)現(xiàn)元素居中原理解析

    在 CSS 中要設(shè)置元素水平垂直居中是一個(gè)非常常見(jiàn)的需求了。這篇文章主要介紹了CSS實(shí)現(xiàn)元素居中原理解析,本文分別從行內(nèi)元素和塊級(jí)元素進(jìn)行說(shuō)明,具有一定的參考價(jià)值,感興
    2018-10-18
  • 利用css設(shè)置元素垂直居中的解決方法匯總

    作為前端攻城師,在制作Web頁(yè)面時(shí)都有碰到CSS制作水平垂直居中,我想大家都有研究過(guò)或者寫過(guò),特別的其中的垂直居中,更是讓人煩惱,下面這篇文章主要給大家匯總介紹了關(guān)于
    2017-09-12
  • css實(shí)現(xiàn)元素水平垂直居中常見(jià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)換 居中。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2016-08-05

最新評(píng)論