關於IE6幽靈字體

  前言:今天作項目的時候在IE6下出現了這樣的一種現像,這種狀況只在IE6下出現,最後在網友的幫助下這個問題最終獲得瞭解決。因此立刻做了下筆記!html

狀況以下圖:佈局

 我在網上找了點資料出現IE6下幽靈字體的狀況主要有以個幾個!   測試

一、一個容器包含2兩個具備「float」樣式的子容器。字體

二、第二個容器的寬度大於父容器的寬度,或者父容器寬度減去第二個容器寬度的值小於3(注意是小於3,當等於3時不會出現重複文字)。spa

三、在第二個容器前存在註釋htm

四、多出文字個數與註釋的條數有關容器

   多出文字個數=註釋條數*2-1bug

   當多出文字個數大於容器中的字數時,多出文字消失float

個人狀況就是屬於第三種狀況,出現這種狀況解決也有好幾種:方法

 

一、不寫註釋(簡單直接有效的方法,但下降了代碼可讀性)

 

二、將html註釋<!---->換成IE註釋 <!--[if !IE]>這裏是註釋內容[endif]-->

 

   或 註釋不放置於 2 個浮動的區塊之間。

 

三、在第二個容器後面加一個或者多個<div style="clear"></div>來解決

 

其中clear 樣式:

 

.clear{clear:both;font-size:0;height:0;}

 

Clear:both 和 height:0 是必須得寫的font-size 能夠不寫(建議寫,由於在ie6中div會有一個默認高度,修復了舊bug但引來了新bug,還得要解決這個IE6默認高度的bug)

 

針對上面的問題能夠這樣寫

 

寫法一:<div style="clear:both; height:0;"><!----></div>

 

寫法二:<div style="clear:both;height:0;font-size:0;overflow:hidden;"></div> 

 

四、設置div的寬度,針對條件二,只要不讓第二個div的寬度大於父容器,或者不讓父容器減去第二個容器寬度小於3 ,就能夠消除這個bug,可是這樣會影響佈局

 

五、將文字區塊放在新的容器中(這種解決方法很不錯,不須要刻意去修正這個bug)

 

       <div style="float:left;width:405px;background:blue;"><div>重複文字測試</div></div>

 

         <div style="float:left;width:405px;background:blue;"><span>重複文字測試</span></div>

相關文章
相關標籤/搜索