當(dāng)前位置:首頁 >  站長 >  建站經(jīng)驗(yàn) >  正文

CSS文字圖片div元素居中方法之水平居中

 2011-12-16 17:44  來源:   我來投稿 撤稿糾錯(cuò)

  域名預(yù)訂/競價(jià),好“米”不錯(cuò)過

文字居中,文字垂直居中水平居中,圖片居中,圖片水平居中垂直居中,塊元素垂直居中?當(dāng)我們在做前端開發(fā)是時(shí)候關(guān)于css居中的問題是很常見的。情況有很多種,不同的情況又有不同的解決方式。水平居中的方式解決的時(shí)候相對來說通過css比較容易設(shè)置,垂直居中相對比較棘手。

先來說一下水平居中的不同情況與不同解決方法吧。

1文本,圖片等行內(nèi)元素的水平居中方法呢比較簡單。直接給父元素設(shè)置一個(gè)text-align:centent屬性就可以實(shí)現(xiàn)元素的水平居中了。

2 確定寬度的塊級元素水平居中怎么設(shè)置呢?設(shè)置方法也不難,可以通過設(shè)置外邊距,margin:0 auto;這句來實(shí)現(xiàn)確定寬度的塊級元素水平居中。

3 不確定寬度的塊級元素設(shè)置水平居中的方法有多種,這里介紹三種方法給大家。

第一種方法呢,是使用table作為容器的方法來實(shí)現(xiàn)。當(dāng)然不大推薦使用這種方法,因?yàn)樘砑恿藷o意義的標(biāo)簽。這里就稍微介紹一下吧。Table標(biāo)簽本身并不是塊級元素,當(dāng)我們不設(shè)置table的寬度的話,他里面的寬度是由他內(nèi)部元素的寬度撐起來的。但即使我們沒有設(shè)置table的寬度,直接設(shè)置table的外邊距margin:0 auto;就可以實(shí)現(xiàn)水平居中了!這樣我們就可以通過設(shè)置table水平居中,間接使里面的內(nèi)容居中。

第二種方法,相對于用table的方法的好處是不用增加無語義標(biāo)簽,簡化標(biāo)簽嵌套深度。這個(gè)思路是這樣的,通過改變塊級元素的display屬性值為inline類型,然后設(shè)置text-align:center來實(shí)現(xiàn)居中。這種方法也有一定不妥之處就是把塊級元素改為行內(nèi)元素后,行內(nèi)元素比塊元素少了一些功能。比如說設(shè)定長寬值等,在項(xiàng)目運(yùn)用中可能會有一些限制,大家可以自行選擇。

下面是第三種方法。通過給父元素設(shè)置浮動(dòng)float,再設(shè)置父元素的position屬性為relative和left:50%;子元素設(shè)置position:relative和left:-50%來實(shí)現(xiàn)水平居中。這個(gè)好處是可以保留塊級元素仍然是以display:block的形式顯示,不會添加無意義的標(biāo)簽,不添加嵌套深度。確點(diǎn)是設(shè)置了position:relative;帶來了一些副作用。下面是第三種方法的實(shí)例代碼,放到body標(biāo)簽里面就可以了。

<div style=”width:400px;height:300px;background:#333;”>

<ul style=”margin:0 auto;float:left; position:relative; left:50%;list-style:none; padding:0;”>

<li style=”position:relative; left:-50%;float:left”>OKOKOKOKKOOKK</li>

</ul>

</div>

三種方法使用都比較廣泛,都有缺點(diǎn)和優(yōu)點(diǎn)。具體選擇哪種方法可視情況而定。Css文字圖片塊元素水平居中的方法就介紹到這里。

本文首發(fā)于:五指前端

申請創(chuàng)業(yè)報(bào)道,分享創(chuàng)業(yè)好點(diǎn)子。點(diǎn)擊此處,共同探討創(chuàng)業(yè)新機(jī)遇!

相關(guān)文章

熱門排行

信息推薦