`
猪小猪
  • 浏览: 8991 次
  • 性别: Icon_minigender_2
社区版块
存档分类
最新评论

转:IE6bug集合

阅读更多
随着IE8的问世,微软终于开始将其浏览器向标准化靠拢,而且其市场占有率已经接近于Chrome了,但由于IE6及IE7仍然占有巨大的市场份额,在此我总结一下主要关于IE6/7的bug。

1. 双倍浮向Bug
这 个bug在IE6及更低版本的浏览器中存在。当IE6及更低版本的浏览器在解析浮动元素时,会错误地把浮向边边界(margin)加倍显示。修复这个 bug的方法很简单,只需要将元素的display属性设置为inline就行了。因为浮动元素自动以块状显示,而设置display:inline在这 里似乎没有作用,但却可以修正这个bug。

这里值得注意的是这里被加倍的margin是指浮向边的margin,例如设置元素float:left,则margin-right不会被加倍,只有margin-left会被加倍显示,我们也可以利用这一点来避免此bug。

2. 多出3像素bug
这个bug在IE6及更低版本的浏览器中存在。当IE6及更低版本的浏览器在解析浮动元素与流动文本环绕时,流动元素会莫名其妙的多生出3像素宽的补白(padding)。
解决方法一:
对浮动元素设置display:inline-block;
此方法缺点:如果在浮动元素上/下方同时存在另一个非浮动元素,会造成两元素边框无法对齐。
解决方法二:
使用过滤器*html #float{height:1%;}(IE6或更低)
为流动元素定义任意高度,迫使其拥有布局,IE具有自适应高度特性。
解决方法三:
如果浮动元素是图像:
*html #float{
****margin:0 -3px; /*IE 5.X*/
****ma/rgin:0; /*IE6*/
}

3. 多余字符bug
这 个bug在IE6中存在。有些人说解决此类问题的方法是不要在浮动元素中添加注释,但注释在代码过程中不可避免,我们无法控制何时会出现注释。我研究了一 下,其实有一个方法可以解决这个问题,那就是利用margin负值,我还不确定这个bug与上面提到的多出3像素bug是否有关联,但如果对 float:left的元素,设置margin-right:-3px却是可以解决这个bug的。

4. 定位bug
这个bug在IE6及更低版本的浏览器中存在。IE6及更低版本浏览器对于没有指定高度的相对元素,不能正确解析它内部元素的决定定位。解决的方法是利用过滤器技巧为IE6及更低版本浏览器定义一个高度强迫相对元素拥有布局属性。
*html #box{height:1%;}

5. 捉迷藏bug
这 个bug在IE6中存在。在特定条件下,标准布局页面被刷新或重新下载时,会发现某些内容消失了,当再次刷新或选中时才会显示出来,原来它们都隐藏在父元 素背景之后。出现这种bug多因为浮动元素与流动元素混合布局,后面元素又被设置了clear属性。如果设置了父元素背景色,当加载页面时,流动元素内的 内容可能会隐藏在父元素下面而看不见。解决该bug的方法是,可以去除父元素的背景色,或为父元素制定固定高度和宽度,也可以为浮动元素和父元素定义 position:relative来避免此类问题发生。

6. 百分比bug
这个bug产生的原因是IE对百分比取值方式造成的。IE对百分比的计算式四舍五入方法,这种方法有时会造成100%大于100%的情况。
分享到:
评论

相关推荐

    iebug总结jar包

    "iebug总结jar包"是一个专门针对这些问题的资源集合,它包含了处理IE bug的相关资料,特别是针对IE6的解决方案。以下是基于这个主题的详细知识点: 1. **IE6的渲染引擎**:IE6使用的是Trident渲染引擎,它与现代...

    ie和ff兼容性大集合

    ### IE和FF兼容性大集合 随着互联网技术的迅速发展,各式各的浏览器层出不穷,而浏览器之间的兼容性问题成为开发者必须面对的一个挑战。本文将基于实际经验与网络资源,总结Internet Explorer (IE) 和 Firefox (FF)...

    让CSS兼容IE和Firefox的技巧集合

    标题中的“让CSS兼容IE和Firefox的技巧集合”是指在网页设计中,针对Internet Explorer(IE)和Firefox这两种浏览器之间CSS样式兼容性问题的解决策略。描述中的“嘿呌,IE不再是个bug”暗示了这些技巧能帮助开发者...

    IE中getElementsByTagName无法获取元素BUG

    标题中的“IE中getElementsByTagName无法获取元素BUG”是一个常见的前端开发问题,主要出现在早期版本的Internet Explorer浏览器中,如IE6、IE7、IE8和IE9。这些版本的浏览器在处理DOM操作时存在一些兼容性问题,...

    CSS兼容IE和Firefox的技巧集合

    ### CSS兼容IE和Firefox的技巧集合 #### 一、引言 随着Web技术的发展,不同浏览器之间的兼容性问题一直是前端开发者关注的重点。特别是在早期的Web开发中,Internet Explorer(IE)和Firefox这两种主流浏览器在CSS...

    个人网页设计常用代码集合[收集].pdf

    知识点:HTML、IE6 BUG 3. 防止点击空链接时页面往往重置到页首端:使用 "javascript :void(null)" 代替原来的 "#" 标记,以 防止页面重置。 知识点:JavaScript、HTML 4. 如何避免别人把你的网页放在框架中:...

    前端面试题大集合

    - **IE6的常见BUG**: - 双边距BUG:使用`display: block`。 - 3像素问题:使用`display: inline-block`。 - 超链接hover点击后失效:使用正确的CSS顺序。 - z-index问题:给父级添加`position: relative`。 - ...

    innerHTML 和 getElementsByName 在IE下面的bug 的解决

    这两个方法在不同的浏览器中可能会有不同的表现,尤其是在早期版本的Internet Explorer(IE)浏览器中,存在一些已知的bug。下面我们将详细讨论这些知识点。 ### innerHTML知识点 innerHTML属性是用于获取或设置...

    帮大家整理了jquery所有版本,我常用的是1.7.2,注意IE8兼容要用2.0以下版本的jquery

    - 包含了从3.1.1到3.5.1的多个版本,这是jQuery的一个重大更新,引入了许多新特性并修复了大量的bug。3.x系列在保持向后兼容的同时,进一步提升了性能,并支持ES6模块化,更适合现代Web开发。例如,3.3.1、3.4.1和...

    artDialog各种样式的弹窗集合

    6. **兼容性**:作为一个成熟的库,artDialog可能兼容主流的浏览器,如Chrome、Firefox、Safari、Edge以及旧版的IE,以确保广泛的应用场景。 7. **版本更新**:6.0.4版本可能包含了错误修复、性能提升和新功能的...

    46种常见的浏览器兼容性问题大汇总

    6. IE5 和IE6的BOX解释不一致 3 7. ul和ol列表缩进问题 3 8. 元素水平居中问题 3 9. Div的垂直居中问题 3 10. margin加倍的问题 3 11. IE与宽度和高度的问题 3 12. 页面的最小宽度 3 13. DIV浮动IE...

    JQuery操作Select的Options的Bug(IE8兼容性视图模式)

    这里的关键改变是使用`empty()`方法清空Select元素,然后通过`document.createElement("OPTION")`创建新的Option元素,并使用`sel.options.add(newOption)`将其添加到Select的options集合中。这种方式确保了在IE8的...

    浏览器兼容性问题

    - **问题描述**:IE5和IE6在处理盒模型时也存在差异。 - **解决方法**:建议使用`box-sizing:border-box`来解决盒模型的计算差异。 ##### 7. ul和ol列表缩进问题 - **问题描述**:不同浏览器对`ul`和`ol`的默认...

    video.js 6.x 7.x的集合

    - **跨平台支持**:video.js 支持多种浏览器,包括Chrome、Firefox、Safari、Edge和IE11,确保了广泛的用户覆盖。 - **自定义皮肤**:提供多种预设主题,同时允许开发者通过CSS自定义播放器外观。 - **API和事件**:...

    jquery1.0到2.0各版本集合

    1. **轻量化**:jQuery 2.0移除了对IE6/7/8的支持,因此体积更小,执行速度更快。 2. **现代浏览器支持**:专注于现代浏览器,不再考虑旧版IE的兼容性问题。 3. **性能提升**:优化了内部代码,提高了运行效率。 ...

Global site tag (gtag.js) - Google Analytics