10个糟糕的IE Bug及其修复

作者:iifksp 来源:蓝色理想 时间:2010-05-13 16:26:00 

国外有很多优秀的文章可以用来学习,我决定花些时间翻译。我并不知道这篇文章有没有人翻译过,原文名 10 Awful IE Bugs and Fixes,我希望能有更多人能看到这些优秀的文章。外国人很幽默,所以我也就全文翻了。高手绕道

以下为译文

我列举了10个常见的IE bug和解决方法。我相信这将能够帮助你减少调试IE布局不一致时花掉的时间。

作者:kevin

简介

在处理IE方面每个人都有他们自己的故事。作为一个开发者我不得不面对大量的IE的古里古怪的问题并且有的时候你只是想用头撞墙。但是随着时间的推移,我们慢慢吃一堑长一智(有些时候那不是我们的错,是IE的错!)并且开始接受和理解IE的怪异行为。我们不得不这样因为仍然有数量可观的IE6用户。最好的做法是一开始就不断的从不同的浏览器测试你的网站。从一开始就解决布局问题要比在数千行html和css代码之后容易的多。

有很多运动在抗议IE6,支持它的是大多数web专家和看起来不怎么关心的普通用户。所以,我们现在能做什么?我们不得不继续挖掘来解决IE6的问题。但是,等一下,有一个振奋人心的消息。基于w3cschool的月度报表,IE6的用户这些年已经减少了一些。从2006年6月的60.3%到现在2009年9月的13.6%。按照这种比例,我们应该能在2010年年底的时候放弃IE6(译注:国外的情况还真是一片大好啊~。~)

好了,回到现实,我已经列出了全部我之前遇到的问题作为未来参考的列表。我相信这将能够帮助你减少调试IE布局不一致时花掉的时间。

1、IE6 幽灵文本(Ghost Text bug)

在我写本文之前,我遇到了这个bug。它相当的古怪和滑稽。一块不知哪来的重复的文本,被IE6显示在靠近原文本的下面。(译注:也可以参看 Explorer 6 Duplicate Characters Bug 获得bug演示)。我无法解决它,所以我搜索它,果然,这是另一个IE6的bug。

对此有许多解决方法,但是没有一个对我的例子有效(因为网站的复杂性我无法使用其中的一些方法)。所以我使用了hack。在原文本之后增加空格看起来能解决这个问题。

但是,从 Hippy Tech Blog 那里了解到,问题背后的原因是由于html注释标签。IE6不能正确的渲染它。下面是他建议的解决方案列表:

解决方法

  1. 使用<!—[IF !IE]>标签包围注释

  2. 移除注释

  3. 在前浮动上增加样式 {display:inline;}

  4. 在适当的浮动的div上使用负边距

  5. 在原文本增加额外的&nbsp;(比如10个空格) (hacky way)

2、相对位置和溢出隐藏(Position Relative and Overflow Hidden)

这个问题我遇到过很多次,当时我正在准备一个JQuery的教程,因为我使用了很多overflow hidden来达到我想要的布局。
问题发生在当父元素的overflow被设置成hidden并且子元素被设置成position:relative。
CSS-Trick有一个很好的例子来演示这个bug。position:relative and overflow in internet explorer

解决方法

为父元素增加position:relative;

3、IE的最小高度(Min-Height for IE)

这很简单,IE忽略min-height属性。你可以用下面的hack来修复它。感谢Dustin Diaz

这个解决方法在IE6, Mozilla/Firefox/Gecko, Opera 7.x+, Safari1.2里都工作的很好。

解决方法

selector { 
    min-height:500px; 
    height:auto !important; 
    height:500px; 
}

 

标签:IE,bug,CSS
0
投稿

猜你喜欢

  • javascript 函数调用的对象和方法

    2010-07-02 12:25:00
  • Cookies 欺骗漏洞的防范方法(vbs+js 实现)

    2011-03-09 11:09:00
  • [多图] Google Chrome 试用 Tips

    2009-12-09 15:49:00
  • asp函数判断服务器是否安装了某种组件

    2008-10-11 14:45:00
  • IBatis.net连接MySql 问题与故障的解决方案

    2011-06-02 09:38:00
  • Dreamweaver使用中的7个常见问题与解答

    2007-11-03 11:34:00
  • CSS的渲染效率:书写高效的CSS

    2008-11-13 16:55:00
  • asp下过滤非法的SQL字符的函数代码

    2011-03-03 11:23:00
  • 从客户端提升SQL Server数据库性能

    2009-03-06 14:27:00
  • CSS nuggets CSS金矿

    2009-10-28 18:59:00
  • asp实现*号隐藏IP地址

    2008-08-10 18:51:00
  • 几款优秀的中文字体设计

    2008-03-24 17:25:00
  • 字符,字节和编码

    2009-12-09 15:59:00
  • CSS属性与JavaScript 编码方法对照表

    2008-12-01 13:01:00
  • Oracle PL/SQL入门慨述

    2010-07-18 12:57:00
  • MySql 随机取N条数据

    2009-03-17 12:46:00
  • 模拟实现 Range 的 insertNode() 方法

    2010-11-30 21:39:00
  • Google首页的CSS Sprite

    2007-09-29 21:36:00
  • css样式表使用技巧小结

    2008-01-11 20:44:00
  • 网站设计做好超级链接的重要性

    2007-09-14 11:19:00
  • asp之家 网络编程 m.aspxhome.com