在一個(gè)元素內(nèi)居中另一個(gè)元素有時(shí)候會(huì)很困難.對(duì)于常規(guī),靜態(tài)定位的元素,可以讓他向左或向右浮動(dòng),或者使用text-align屬性讓他在父元素內(nèi)居左,居中或居右.還可以利用自動(dòng)外邊距(margin:0 auto;)來(lái)居中元素.這些方法的問(wèn)題在于,要居中的元素必須是有寬度的.像這里用于構(gòu)成菜單的html列表,他可能是根據(jù)數(shù)據(jù)庫(kù)信息動(dòng)態(tài)生成的,或者說(shuō)將來(lái)有可能手工編輯,總之你不可能提前設(shè)定他的寬度.
在display屬性的值中,inline-block具有一些特殊的混合行為.正如他的名字所暗示的,它具有塊級(jí)元素的特點(diǎn),也有行內(nèi)元素的行為.從塊級(jí)元素角度來(lái)說(shuō),可以為他設(shè)定外邊距和內(nèi)邊距,也可以通過(guò)它簡(jiǎn)便而有效的包圍其他塊級(jí)元素.從行內(nèi)元素角度看,他會(huì)收縮包裹自己的內(nèi)容,而不是擴(kuò)展填充父元素.換句話說(shuō),inline-block元素的寬度始終等于其內(nèi)容寬度.這種元素還有一個(gè)特點(diǎn),就是可以包圍浮動(dòng)元素.不過(guò),這種元素也有一個(gè)問(wèn)題,既不能給他的外邊距設(shè)定auto值--而這恰恰又是在更大的容器內(nèi)居中元素的最簡(jiǎn)單方法.
解決方案就是為要居中元素的父元素應(yīng)用text-align:center,為要居中的元素設(shè)定display:inline-block.這樣設(shè)定就可以得到我們想要的結(jié)果:沒(méi)有寬度的元素也能在其父元素內(nèi)居中.
新聞熱點(diǎn)
疑難解答
圖片精選