關(guān)于使用CSS居中(包括水平/垂直) | ||||||
用CSS如何使DIV層水平居中 這兩天開(kāi)始對(duì)網(wǎng)志進(jìn)行大刀闊斧的頁(yè)面更改. 今天碰到個(gè)很棘手的問(wèn)題,DIV本身沒(méi)有定義自己居中的屬性, 網(wǎng)上很多的方法都是介紹用上級(jí)的text-align: center然后嵌套一層DIV來(lái)解決問(wèn)題. 可是事實(shí)上這樣的方法科學(xué)嗎? 經(jīng)過(guò)網(wǎng)絡(luò)搜索和親自實(shí)驗(yàn)得出以下結(jié)論: 正確的也是對(duì)頁(yè)面構(gòu)造沒(méi)有影響的設(shè)置如下: 對(duì)需要水平居中的DIV層添加以下屬性:
經(jīng)過(guò)這么一番設(shè)置問(wèn)題似乎解決了,在FF中已經(jīng)居中了,可是在IE中看竟然還是沒(méi)有居中! 郁悶了一下午,就是找不出問(wèn)題所在,還特地比較了網(wǎng)上的文章竟然一模一樣. 問(wèn)題到底出在哪里呢? 感謝網(wǎng)友樂(lè)天無(wú)用幫忙找出了這個(gè)邪門問(wèn)題的原因. 原來(lái)是L-Blog默認(rèn)沒(méi)有在HTML前加上DTD,于是IE就以HTML而不是XHTML來(lái)解釋文檔. 問(wèn)題并不在CSS而在XHTML網(wǎng)頁(yè)本身. 需要加上這樣的代碼才能使得上述設(shè)置有效果:
說(shuō)明: 首先在父級(jí)元素定義TEXT-ALIGN: center;這個(gè)的意思就是在父級(jí)元素內(nèi)的內(nèi)容居中;對(duì)于IE這樣設(shè)定就已經(jīng)可以了。但在mozilla中不能居中。解決辦法就是在子元素定義時(shí)候設(shè)定時(shí)再加上“MARGIN-RIGHT: auto;MARGIN-LEFT: auto; ” 需要說(shuō)明的是,如果你想用這個(gè)方法使整個(gè)頁(yè)面要居中,建議不要套在一個(gè)DIV里,你可以依次拆出多個(gè)div,只 要在每個(gè)拆出的div里定義MARGIN-RIGHT: auto;MARGIN-LEFT: auto; 就可以了。 如何使圖片在DIV 中垂直居中 用背景的方法。舉例:
關(guān)鍵就是最后的center,這個(gè)參數(shù)定義圖片的位置。還可以寫成“top left”(左上角)或者"bottom right"等,也可以直接寫數(shù)值"50 30" 如何使文本在DIV中垂直居中 果是文字,便不能用背景方法,可以用增高行距的辦法變通實(shí)現(xiàn)垂直居中,完整代碼如下:
說(shuō)明: vertical-align:middle;表示行內(nèi)垂直居中,我們將行距增加到和整個(gè)DIV一樣高line-height:200px;然后插入文字,就垂直居中了。 CSS+DIV控制頁(yè)面中元素垂直居中代碼 全局和區(qū)域垂直居中
另一方法:
|
聯(lián)系客服