現(xiàn)在DIV+CSS布局越來(lái)越流行了,所以咱也得趕上潮流,前陣有人問(wèn)過(guò)我關(guān)于DIV居中布局的問(wèn)題,當(dāng)時(shí)我也不太懂,于是便一起研究了一下,今天就來(lái)作個(gè)小結(jié)。
最先發(fā)現(xiàn)的是XHTML里用margin實(shí)現(xiàn)居中布局。這種方法是從Z-BLOG官方網(wǎng)站挖出來(lái)的。至今不知道原理,實(shí)踐得知若不在頂部加上<!DOCTYPE ... > 就不能正常居中。所以臨時(shí)斷定,此法為XHTML專(zhuān)用方法。有知道詳情的希望提供相關(guān)文檔,謝謝~!^_^
看以下示例,去掉第一行就發(fā)現(xiàn)居中失效。
再接下來(lái)這種方法算是"偏方"了,不知道哪個(gè)牛人想出來(lái)的?利用left和margin-left間接實(shí)現(xiàn)。left為50%(頁(yè)面的一半),margin-left為-width的一半。這樣兩個(gè)一半之差,就正好是DIV的中心座標(biāo)了。妙哉!順便提下,這種方法還需要先設(shè)定position為relative 才能正常顯示。
后來(lái)我把margin-left的值用expression自動(dòng)計(jì)算,這樣就只剩一個(gè)width參數(shù)需要自定了。
看以下示例,注意第一二行與上例的差別。
我所有的效果都是在IE6下調(diào)試的,不知道在其他瀏覽器下效果如何。以下這種是我昨天無(wú)意中看到的,據(jù)說(shuō)最低可以支持到IE3.0,非IE偶也8考慮。(嘿嘿……這句估計(jì)會(huì)遭扁了。)基本原理是利用body的text-align來(lái)實(shí)現(xiàn)居中。
不多說(shuō)了,看代碼。
