CSS使元素居中的幾種方式

1、使行內(nèi)元素

水平居中

text-align : center

垂直居中

line-height : 容器的高度,如果有 n 行文本,則使用 height / n

2、塊元素水平居中

margin : 0 auto; 注意它只對(duì)塊元素有效,行內(nèi)塊雖有寬高,但也需要轉(zhuǎn)為塊元素才能生效

3、垂直居中

1、

vertical-align : middle; 需要注意的是,它只對(duì)于inline 和 inline-block 以及設(shè)置了table-cell (例如td)的元素。

2、

、父元素不設(shè)置高度,利用padding-top == padding-bottom

4、水平和垂直都居中 (即行內(nèi)塊元素水平垂直居中的方式)

  • 1、使用定位
  • 2、使用 display : table
  • 3、使用彈性布局: display : flex
  • 4、使用transform : translate() 和定位實(shí)現(xiàn)

1、使用定位實(shí)現(xiàn)水平垂直居中

html代碼

<div class="outer">
    <div class="inner"></div>
</div>

CSS代碼

.outer{
        width: 600px;
        height: 600px;
        background: #f00;
        margin: 0 auto;
        position: relative;
    }
    .inner{
        width: 200px;
        height: 200px;
        background: #00f;
        position: absolute;
        left: 50%;
        margin-top: -100px;    /*自身高度的一半*/
        margin-left: -100px;   /* 自身寬度的一半*/
        top: 50%;
    }

2、使用 display : table屬性實(shí)現(xiàn)水平垂直居中

html代碼

<div class="outer">
    <div class="inner">
    </div>
</div>

CSS代碼

.outer{
    width: 600px;
    height: 600px;
    background: #f00;
    /*將父元素設(shè)置 display : table-cell; 并搭配 vertical-align:middle;*/
    display: table-cell;
    vertical-align: middle;
}
.inner{
    width: 200px;
    height: 200px;
    background: #00f;   
    margin: 0 auto;
}

3、使用彈性布局實(shí)現(xiàn)

html代碼

<div class="outer">
    <div class="inner">
    </div>
</div>

CSS代碼

.outer{
    width: 600px;
    height: 600px;
    background: #f00;
    display: flex;

    /*設(shè)置主軸方向(默認(rèn)為水平)居中*/
    justify-content:center;

    /*設(shè)置交叉軸方向(與主軸垂直)居中*/
    align-items: center;
}
.inner{
    width: 200px;
    height: 200px;
    background: #00f;   
    
}

4、使用transform 變換和定位實(shí)現(xiàn)居中

html代碼

<div class="outer">
    <div class="inner">
    </div>
</div>

CSS代碼

.outer{
    width: 600px;
    height: 600px;
    background: #f00;
    position: relative;
}
.inner{
    width: 200px;
    height: 200px;
    background: #00f;   
    position: absolute;
    left: 50%;
    top:50%;

    /*這里需要注意的是,translate移動(dòng)的是自身寬高的 百分比*/
    transform: translate(-50%,-50%);
}
最后編輯于
?著作權(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),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

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

  • 問答題47 /72 常見瀏覽器兼容性問題與解決方案? 參考答案 (1)瀏覽器兼容問題一:不同瀏覽器的標(biāo)簽?zāi)J(rèn)的外補(bǔ)...
    _Yfling閱讀 14,150評(píng)論 1 92
  • 收聽音頻,戳鏈接,舊號(hào)itclan已暫停使用,歡迎關(guān)注微信itclanCoder公眾號(hào)可收聽更多音頻 前言 關(guān)于網(wǎng)...
    itclanCoder閱讀 8,349評(píng)論 3 30
  • 本文主要是起筆記的作用,內(nèi)容來自慕課網(wǎng). 認(rèn)識(shí)CSS樣式 CSS全稱為“層疊樣式表 (Cascading Styl...
    0o凍僵的企鵝o0閱讀 2,750評(píng)論 0 30
  • 一 外部式css樣式 (也可稱為外聯(lián)式)就是把css代碼寫一個(gè)單獨(dú)的外部文件中,這個(gè)css樣式文件以“.css...
    KunMitnic閱讀 1,120評(píng)論 0 1
  • L市位于碧波江畔,每至春日,整座城市仿佛籠罩在微涼的水汽里,潮濕而清新。 在這個(gè)最普通不過的陰天,市警察局里...
    昏昏欲墜閱讀 628評(píng)論 0 0

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