2010-12-03 11:20:47| 分类: My UED | 标签:ie6 3像素 容器 float 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.
分享到:
相关推荐
标题中的“莫名其妙的IE 3像素Bug”指的是在Internet Explorer(IE)浏览器中出现的一种特定的布局问题。这种问题通常发生在网页元素的边缘,尤其是在不同浏览器间存在渲染差异时。IE浏览器由于其独特的渲染引擎,...
除了上述技术解决方案,还有一些最佳实践和策略可以帮助应对IE6的透明性问题: - **渐进增强**:设计时应优先考虑主流现代浏览器,然后逐步为老旧浏览器如IE6添加兼容性补丁。这样可以确保大部分用户能享受到良好的...
3像素bug表现为在IE6浏览器下,当一个容器内的浮动元素(float样式)导致容器宽度超出预设值,或者父容器宽度与子容器宽度差小于3像素时,文本或图像会发生溢出,表现为额外复制字符。例如,原本显示为“下一页”的...
标题“解决ie6下3像素bug问题”指的是在IE6浏览器版本下,两个浮动元素之间出现的不期望的3像素间隙问题。这个问题是一个常见的前端bug,主要是在IE6浏览器中由于其解析CSS的特殊性导致的,而这种问题在其他浏览器中...
这个Bug主要出现在浮动元素与非浮动元素相邻的情况下,导致非浮动元素在IE6下向右偏移3像素,影响页面布局的精确性。 要理解这个Bug的原因,我们需要知道在IE6中,元素的“hasLayout”机制起着关键作用。hasLayout...
这个压缩包文件"ie6bug"显然专注于解决与IE6相关的技术挑战。下面,我们将深入探讨IE6中的常见问题以及解决策略。 1. **PNG透明度问题**:IE6不支持PNG8和PNG24格式的阿尔法透明度,导致半透明图片显示不正常。解决...
本文将针对特定的IE浏览器兼容性问题进行详细的分析与解决方案探讨。 #### 二、详细解析 ##### 1. **Input元素的Margin与Width问题** - **问题描述**:在IE8中,当`<input>`标签类型为`button`或`submit`时,如果...
ie6-ie7 dom渲染bug demo
在IT行业中,尤其是在网页设计和前端开发领域,IE6(Internet Explorer 6)与PNG图片的兼容性问题是一个历史悠久且著名的挑战。这个问题主要涉及到PNG(Portable Network Graphics)图像格式的透明性和平铺背景在IE6...
兼容各浏览器,生成透明背景色代码,解决ie6下不透明bug
另外,IE6中还存在一个`position: absolute`元素消失的BUG。当绝对定位的元素后面有浮动元素或负边距时,该元素可能会消失。解决方法是在消失的`div`后添加一个空的`div`,并使用条件注释来针对IE6: ```html ...
IEbug、IE6页面问题、IE6样式问题
解决bug多出三像素
在本文中,我们将深入探讨IE6中最为常见的九个Bug,并提供相应的解决方案,帮助Web开发者们解决这个曾经令人头疼的问题。 ### 1. 居中布局问题 在CSS布局中,将一个元素水平居中是最基本的需求之一。通常,通过...
"iebug总结jar包"是一个专门针对这些问题的资源集合,它包含了处理IE bug的相关资料,特别是针对IE6的解决方案。以下是基于这个主题的详细知识点: 1. **IE6的渲染引擎**:IE6使用的是Trident渲染引擎,它与现代...
### IE6特有bug兼容性问题整理 #### 1. 浮动(float)与相邻非浮动元素的表现差异 - **问题描述**: 在不同浏览器中,对于`float`元素和相邻非`float`元素的处理方式存在差异。具体表现为,在IE6中,当一个元素设置...
解决IE6的PNG BUG有多种方法,其中一种是使用JavaScript库,比如压缩包中的"ie6-png.js"。这个脚本的目的是动态地将PNG-24图像转换为PNG-8,或者应用滤镜来实现透明效果。具体实现原理是利用IE6特有的滤镜属性,如...