偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

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

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

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

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

最近用DIV寫(xiě)了幾個(gè)網(wǎng)頁(yè),一開(kāi)始呢,從來(lái)沒(méi)有在IE8下面測(cè)試過(guò),最近升級(jí)了IE8,發(fā)現(xiàn)了好些問(wèn)題,一開(kāi)始用IE6和IE7都沒(méi)有的新問(wèn)題出現(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的高度撐開(kāi)。(這個(gè)現(xiàn)象只有IE8發(fā)生,其他版本IE以及IE8選擇兼容模式后就沒(méi)有問(wèn)題。)

解決方法:a1的display=table

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

不同的瀏覽器對(duì)CSS的解析可能存在出入,因此能在IE6和IE7正常顯示的CSS+DIV頁(yè)面在IE8和FF(即Firefox)瀏覽器中未必正常,需要格外留意。以下代碼在FF和IE8下無(wú)法正常顯示出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í),父層的樣式將是被忽略的或者根本就是無(wú)效的,這將可能發(fā)生嚴(yán)重的問(wèn)題。我們必須找出原因。原來(lái),在IE8和FF環(huán)境下,一個(gè)沒(méi)有任何內(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)在我們就來(lái)試驗(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嵌套沒(méi)有被id為sub的里層子DIV撐高,整體樣式出現(xiàn)嚴(yán)重的走樣效果。一個(gè)簡(jiǎn)便的處理方法是,在***一個(gè)子層DIV結(jié)束之后加上一個(gè)高度為0像素的DIV,且該DIV不允許兩邊有浮動(dòng)對(duì)象:

  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)問(wèn)題
  2. DIV CSS中id與class使用用原則與技巧
  3. CSS中border和clear兩大屬性用法揭秘
  4. 專家提醒 編寫(xiě)CSS時(shí)注意的七個(gè)方面
  5. 解讀DIV CSS網(wǎng)頁(yè)布局中CSS無(wú)效十個(gè)原因

 

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

2010-09-15 10:25:18

IE7IE8CSS兼容性

2010-09-15 10:32:54

IE8兼容

2010-01-18 14:41:33

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

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-09-09 16:47:49

CSS paddingFirefox

2009-07-21 10:35:18

margin coll

2010-08-18 14:32:07

IE6IE7IE8

2009-03-30 09:07:22

微軟瀏覽器IE8

2017-05-14 16:02:45

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

2009-03-30 09:09:47

微軟瀏覽器IE8
點(diǎn)贊
收藏

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