自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

IE8下DIV嵌套出現(xiàn)錯(cuò)誤解決方案

開發(fā) 前端
DIV嵌套還是比較實(shí)用的,于是我研究了一下DIV嵌套的使用,這里和大家分享一下IE8下DIV嵌套出現(xiàn)錯(cuò)誤解決方案,希望對你的學(xué)習(xí)有所幫助。

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

IE8下DIV嵌套出現(xiàn)錯(cuò)誤解決方案

最近用DIV寫了幾個(gè)網(wǎng)頁,一開始呢,從來沒有在IE8下面測試過,最近升級(jí)了IE8,發(fā)現(xiàn)了好些問題,一開始用IE6和IE7都沒有的新問題出現(xiàn)了,大概就是以下的三種方法,與君共勉! 

  1. <dividdivid=”a1″> 
  2.  
  3. <dividdivid=”b1″></div> 
  4.  
  5. <dividdivid=”b2″></div> 
  6.  
  7. </div> 
  8.  

 當(dāng)b1和b2都是float=left時(shí)候,a1層的高度不會(huì)被b1和b2的高度撐開。(這個(gè)現(xiàn)象只有IE8發(fā)生,其他版本IE以及IE8選擇兼容模式后就沒有問題。)

解決方法:a1的display=table

=================================

不同的瀏覽器對CSS的解析可能存在出入,因此能在IE6和IE7正常顯示的CSS+DIV頁面在IE8和FF(即Firefox)瀏覽器中未必正常,需要格外留意。以下代碼在FF和IE8下無法正常顯示出DIV塊的內(nèi)容,僅有一條兩個(gè)像素高度的紅線(其實(shí)是上、下邊框擠在一處的結(jié)果)——

CSS:

  1. #main{  
  2. margin:auto;  
  3. width:400px;  
  4. background-color:#336699;  
  5. border:1pxsolid#ff0000;  
  6. }  
  7.  
  8. DIV:<dividdivid="main"></div> 
  9.  

 IE8和FF瀏覽環(huán)境下的DIV嵌套效果:

這意味著,當(dāng)我們把main作為DIV的父層,里面嵌套若干子層的DIV時(shí),父層的樣式將是被忽略的或者根本就是無效的,這將可能發(fā)生嚴(yán)重的問題。我們必須找出原因。原來,在IE8和FF環(huán)境下,一個(gè)沒有任何內(nèi)容的不定義高度的DIV是不會(huì)顯示的。以上代碼中,我們?nèi)艚omain定義一個(gè)高度,或?qū)?lt;divid="main"></div>改為<divid="main">Hello</div>,IE8和FF下將正常顯示我們預(yù)設(shè)的效果。

嵌套DIV之后情形又如何呢?

里層的DIV是否被IE8和FF視為實(shí)體HTML元素?現(xiàn)在我們就來試驗(yàn)一下DIV嵌套效果:

CSS:

  1. #main{  
  2. margin:auto;  
  3. width:400px;  
  4. background-color:#336699;  
  5. border:1pxsolid#ff0000;  
  6. }  
  7.  
  8. #sub{  
  9. width:200px;  
  10. background-color:#aaa;  
  11. float:left;  
  12. }  
  13.  
  14. DIV:  
  15.  
  16. <dividdivid="main"> 
  17. <dividdivid="sub"> 
  18. HelloWorld!<br/>HiGod!  
  19. </div> 
  20. </div> 
  21.  

在IE8和FF下的DIV嵌套效果如下圖所示:

 

顯然,id為main的父層DIV嵌套沒有被id為sub的里層子DIV撐高,整體樣式出現(xiàn)嚴(yán)重的走樣效果。一個(gè)簡便的處理方法是,在***一個(gè)子層DIV結(jié)束之后加上一個(gè)高度為0像素的DIV,且該DIV不允許兩邊有浮動(dòng)對象:

  1. <dividdivid="main"> 
  2. <dividdivid="sub"> 
  3. HelloWorld!<br/>HiGod!<br/>OK?  
  4. </div> 
  5. <divstyledivstyle="height:0px;clear:both;"></div> 
  6. </div> 
  7.  

第二種解決方法是定義一個(gè)CSS類:

  1. .box:after{  
  2. content:".";  
  3. display:block;  
  4. height:0px;  
  5. clear:both;  
  6. visibility:hidden;  
  7. }  
  8.  

然后將父層DIV代碼中的<divid="main">改為<divid="main"class="box">。

以上兩種方法都將出現(xiàn)如下圖所示的DIV嵌套效果:

【編輯推薦】

  1. CSS解決DIV居中相關(guān)問題
  2. DIV CSS中id與class使用用原則與技巧
  3. CSS中border和clear兩大屬性用法揭秘
  4. 專家提醒 編寫CSS時(shí)注意的七個(gè)方面
  5. 解讀DIV CSS網(wǎng)頁布局中CSS無效十個(gè)原因

 

責(zé)任編輯:佚名 來源: sina.com.cn
相關(guān)推薦

2010-01-18 14:41:33

VB.NET抓取網(wǎng)頁

2010-09-15 10:25:18

IE7IE8CSS兼容性

2010-09-15 10:32:54

IE8兼容

2010-08-30 16:53:14

FirefoxIE8margin-top

2010-08-17 15:26:38

IE7IE8CSS兼容性

2010-08-20 11:01:10

IE7IE8CSS

2010-01-22 15:42:01

VB.NET錯(cuò)誤

2010-08-20 09:33:22

IE6IE7IE8

2010-05-26 13:14:22

MySQL錯(cuò)誤解決方案

2010-08-27 14:55:23

IE6IE7IE8

2010-08-18 15:10:44

IE7IE8Firefox

2010-10-09 08:57:32

AjaxIE8

2010-06-02 10:21:56

Windows 7虛擬化

2010-09-15 10:14:19

IE7IE8兼容CSS

2010-08-18 14:32:07

IE6IE7IE8

2010-09-09 16:47:49

CSS paddingFirefox

2009-03-30 09:07:22

微軟瀏覽器IE8

2017-05-14 16:02:45

前端開發(fā)標(biāo)簽嵌套

2009-07-21 10:35:18

margin coll

2009-12-30 15:29:14

點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)