這篇文章主要講解了“如何解決IE6的3像素bug”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“如何解決IE6的3像素bug”吧!
一、 6爺我喝高了,最后一行有重影。那什么是IE6 的3像素bug?
IE7修正了IE6中的一個bug,bug名字就叫做“3像素bug”,即文字溢出bug. 表現形式是ie6瀏覽器下文字或者圖片溢出,莫名其妙的自動復制幾個字符。如下圖,就自動溢出了一個“下一頁”。
二、3像素bug是怎么產生的?
一個容器A包含2兩個具有“float”樣式的子容器B和C。
第二個容器C的寬度大于父容器A的寬度,或者父容器A寬度減去第二個容器C寬度的值小于3。
在第二個容器前存在注釋(這也是為什么此bug也叫做“IE6注釋bug”的原因)。
下面是這段代碼再現了bug的產生過程,如果用ie6瀏覽,則在下面 會多出一個“醉”字。
<div style=”width:200px;”>
<div style=”float:left;”></div>
<div style=”float:left;width:200px;”>我是6爺,我沒醉</div>
</div>
三、怎樣讓6爺快速醒酒?ie 6 3像素bug的很好解決辦法:margin-right:-3px;
關于解決辦法網上有很多轉載,但是我一一試過之后很多都不奏效或者不理想。下面是一段摘錄:
1.改變結構,不出現【一個容器包含2兩個具有“float”樣式的子容器】的結構。
——此解決方案的評論:瘋了!因噎廢食的做法。
2.減小第二個容器的寬度,使父容器寬度減去第二個容器寬度的值大于3,例如將本文示例中第二個子容器的寬度改為197px。
——此解決方案的評論:在滿足頁面布局的前提下可以使用。但是當情況比較復雜的時候,可能實施起來比較困難。
3.去掉所有的注釋。
——此解決方案的評論:最直接的做法,但是“沒有注釋的代碼”,的確不是一個好的代碼寫作習慣。
4.修正注釋的寫法。將 <!– 這里是注釋內容 –>寫成<!–[if !IE]>這里是注釋內容<![endif]–>
——此解決方案的評論:還不錯的解決方案,但是并不是每個人都對<!–[if !IE]>這里是注釋內容[endif]–>這種注釋寫法很欣賞。
5.在第二個容器后面加一個或者多個<div style=”clear”></div>來解決。
——此解決方案的評論:另人感覺很不爽的解決方案。但是的確能解決。影響網頁效率
這五種方法我都不推薦,根據我的實驗最直接的解決問題的方法是在父容器A添加 margin-right:-3px; 一般情況下都可以解決這個問題。
<div style=”width:200px;margin-right:-3px;”>
<div style=”float:left;”></div>
<div style=”float:left;width:200px;”>我是6爺,我沒醉</div>
</div>
四、珍愛生命,遠離ie6
因為溢出bug產生的根本原因沒人可以解釋,所以也就沒有對應的一勞永逸的辦法。要從根本上解決這個問題只有一個辦法,就是kill ie6。但是MS微軟比我們還著急,可是就是不給力啊。
感謝各位的閱讀,以上就是“如何解決IE6的3像素bug”的內容了,經過本文的學習后,相信大家對如何解決IE6的3像素bug這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是創新互聯網站建設公司,,小編將為大家推送更多相關知識點的文章,歡迎關注!
標題名稱:如何解決IE6的3像素bug-創新互聯
網頁網址:http://www.2m8n56k.cn/article8/dccjop.html
成都網站建設公司_創新互聯,為您提供網站內鏈、網站營銷、服務器托管、App開發、商城網站、網站設計公司
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:[email protected]。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯