css居中

一、水平居中
1、margin:0 auto;
適用于塊級(jí)元素,并且對(duì)浮動(dòng)元素和定位元素?zé)o效

2、text-align:center
適用于圖片、按鈕、文字等行內(nèi)元素(display為inline或inline-block),寫在父元素上對(duì)子元素有效

3、使用浮動(dòng)配合相對(duì)定位來(lái)進(jìn)行水平居中
浮動(dòng)居中的原理:把浮動(dòng)元素相對(duì)定位到父元素寬度50%的地方,但這個(gè)時(shí)候元素還不是居中的,而是比居中的那個(gè)位置多出了自身一半的寬度,這時(shí)就需要他里面的子元素再用一個(gè)相對(duì)定位,把那多出自身一半的寬度拉回來(lái),因?yàn)橄鄬?duì)定位正是相對(duì)于自身來(lái)定位的,所以自身一半的高度只要把left或right設(shè)為50%就可以得到了。


Paste_Image.png

二、垂直居中
line-height 適用于一行文字,也是寫在父元素上

三、垂直水平居中
1、利用表格
表格本身居中只要用到td或th元素的text-align:"center"和vertical-align:"middle"就可以實(shí)現(xiàn)里面內(nèi)容的水平和垂直居中問(wèn)題了,而且表格默認(rèn)的就會(huì)對(duì)它里面的內(nèi)容進(jìn)行垂直居中。

Paste_Image.png

因此對(duì)于那些不是表格的元素,我們可以通過(guò)display:table-cell來(lái)把它模擬成一個(gè)表格單元格,這樣就可以利用表格的居中特性了。

Paste_Image.png

2、使用絕對(duì)定位來(lái)居中
適用于已經(jīng)知道寬度和高度的元素。絕對(duì)定位進(jìn)行居中的原理是通過(guò)把這個(gè)絕對(duì)定位元素的left或top的屬性設(shè)為50%,此時(shí)元素并不是居中的,而是比居中的位置向右向下偏了這個(gè)元素寬度或高度的一半的距離,所以需要使用一個(gè)負(fù)的margin-left或margin-top的值把它拉回到居中的位置,這個(gè)負(fù)的margin值就取元素寬度和高度的一半。

Paste_Image.png

如果只想實(shí)現(xiàn)一個(gè)方向的居中,則可以使用left,margin-left來(lái)實(shí)現(xiàn)水平居中,使用top,margin-top來(lái)實(shí)現(xiàn)垂直居中。

3、另一種使用絕對(duì)定位居中的方法

Paste_Image.png

在寬高確定的情況下,只要上下,左右位置分別相同就可以了,可以設(shè)置四個(gè)都是0,沒(méi)有設(shè)置寬高的情況下會(huì)根據(jù)上下左右設(shè)置的位置決定大小。

最后編輯于
?著作權(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)容

  • 問(wèn)答題47 /72 常見(jiàn)瀏覽器兼容性問(wèn)題與解決方案? 參考答案 (1)瀏覽器兼容問(wèn)題一:不同瀏覽器的標(biāo)簽?zāi)J(rèn)的外補(bǔ)...
    _Yfling閱讀 14,168評(píng)論 1 92
  • 在學(xué)習(xí)前端的過(guò)程中,發(fā)現(xiàn)元素和文本的水平居中和垂直居中,是經(jīng)常會(huì)出現(xiàn)的問(wèn)題,在實(shí)際工作中也會(huì)經(jīng)常碰到。居中的技巧有...
    文藝范的奔三運(yùn)維青年閱讀 619評(píng)論 0 1
  • 水平居中設(shè)置-行內(nèi)元素 我們?cè)趯?shí)際工作中常會(huì)遇到需要設(shè)置水平居中的場(chǎng)景,比如為了美觀,文章的標(biāo)題一般都是水平居中顯...
    CAICL閱讀 504評(píng)論 0 3
  • 最常用的水平居中法:把margin設(shè)為auto具體來(lái)說(shuō)就是把要居中的元素的margin-left和margin-r...
    摘星_s閱讀 1,255評(píng)論 0 1
  • 在CSS中如何居中這事兒是CSS為人所抱怨的典型代表之一?!盀槊@么難?%>_<%”,開(kāi)發(fā)者們抱怨道。我認(rèn)為這個(gè)...
    紅綠燈的黃閱讀 1,184評(píng)論 0 1

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