新聞中心
這里和大家分享一下IE8下DIV嵌套出現(xiàn)錯誤解決方案,最近用DIV寫了幾個網(wǎng)頁,一開始呢,從來沒有在IE8下面測試過,最近升級了IE8,發(fā)現(xiàn)了好些問題,一開始用IE6和IE7都沒有的新問題出現(xiàn)了,大概就是以下的三種方法,請看詳細介紹。

IE8下DIV嵌套出現(xiàn)錯誤解決方案
最近用DIV寫了幾個網(wǎng)頁,一開始呢,從來沒有在IE8下面測試過,最近升級了IE8,發(fā)現(xiàn)了好些問題,一開始用IE6和IE7都沒有的新問題出現(xiàn)了,大概就是以下的三種方法,與君共勉!
當b1和b2都是float=left時候,a1層的高度不會被b1和b2的高度撐開。(這個現(xiàn)象只有IE8發(fā)生,其他版本IE以及IE8選擇兼容模式后就沒有問題。)
解決方法:a1的display=table
=================================
不同的瀏覽器對CSS的解析可能存在出入,因此能在IE6和IE7正常顯示的CSS+DIV頁面在IE8和FF(即Firefox)瀏覽器中未必正常,需要格外留意。以下代碼在FF和IE8下無法正常顯示出DIV塊的內容,僅有一條兩個像素高度的紅線(其實是上、下邊框擠在一處的結果)——
CSS:
- #main{
- margin:auto;
- width:400px;
- background-color:#336699;
- border:1pxsolid#ff0000;
- }
- DIV:
IE8和FF瀏覽環(huán)境下的DIV嵌套效果:
這意味著,當我們把main作為DIV的父層,里面嵌套若干子層的DIV時,父層的樣式將是被忽略的或者根本就是無效的,這將可能發(fā)生嚴重的問題。我們必須找出原因。原來,在IE8和FF環(huán)境下,一個沒有任何內容的不定義高度的DIV是不會顯示的。以上代碼中,我們若給main定義一個高度,或將
嵌套DIV之后情形又如何呢?
里層的DIV是否被IE8和FF視為實體HTML元素?現(xiàn)在我們就來試驗一下DIV嵌套效果:
CSS:
- #main{
- margin:auto;
- width:400px;
- background-color:#336699;
- border:1pxsolid#ff0000;
- }
- #sub{
- width:200px;
- background-color:#aaa;
- float:left;
- }
- DIV:
- HelloWorld!
HiGod!
在IE8和FF下的DIV嵌套效果如下圖所示:
顯然,id為main的父層DIV嵌套沒有被id為sub的里層子DIV撐高,整體樣式出現(xiàn)嚴重的走樣效果。一個簡便的處理方法是,在***一個子層DIV結束之后加上一個高度為0像素的DIV,且該DIV不允許兩邊有浮動對象:
- HelloWorld!
HiGod!
OK?


咨詢
建站咨詢
