安全放心的免费绿色软件下载网站!

告诉你10个常见的IE bug和解决方法

时间:2022-04-25 09:26:50

  告诉你10个常见的IE bug和解决方法:

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

  在处理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不能正确的渲染它。下面是他建议的解决方案列表:

  解决方法:

  使用标签包围注释

  移除注释

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

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

  在原文本增加额外的(比如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;

  }

  4、Bicubic图像缩放(Bicubic Image Scaling)

  你会喜欢这个的。IE那糟糕图像缩放让你很困扰?如果你拿IE和其他浏览器比较,IE缩小的图像看起来不如其他浏览器。

  解决方法:

  img { -ms-interpolation-mode: bicubic; }

  5、 PNG透明(PNG Transparency)

  我猜每个人都知道这个,但我仍把它列在这里,作为以后的参考。

  所以如果你想要使用透明图像并且GIF不能给你想要的质量,你会需要这个对PNG的hack。你必须意识到,如果你使用一张PNG图像作为背景,你将不能设置背景的位置。

  解决方法:

  img {

  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(...);

  }

  6、 IFrame透明背景 (IFrame Transparent Background)

  在firefox和safari里你应该不会遇到这个问题因为默认情况下,iframe的背景被设置为transparent,但是在IE里,却不是如此。你需要用到allowTransparency 属性并且加入下面的CSS代码来达成目的。

  解决方法:

  /* in the iframe element */

告诉你10个常见的IE bug和解决方法

  /* in the iframe docuement, in this case content.html */

  body {

  background-color:transparent;

  }

  7、禁用IE默认的垂直滚动条(Disabled IE default Vertical Scroll bar)

  默认情况下,即使内容适合窗口大小,IE(译注:IE6/7)也会显示垂直滚动条。你可以使用overflow:auto,让滚动条只在你需要时出现。

  html {

  overflow: auto;

  }

  8、:hover伪类(:hover Pseudo Class)

  IE只支持元素的 :hover伪类。你可以使用jQuery的hover event来达到相同效果。

  解决方法:

  /* jQuery Script */

  $('#list li').hover(

  function () {

  $(this).addClass('color');

  },

  function() {

  $(this).removeClass('color');

  }

  );

  /* CSS Style */

  .color {

  background-color:#f00;

  }

  /* HTML */

  Item 1

  Item 2

  Item 3

  9、盒模型Hack(Box Hack Model)

  这是IE里最热门的bug了。基本的理解是,IE计算宽度(width)的方式不同。基于w3c标准,一个元素总宽度应该是:

  总宽度 = margin-left + border-left + padding-left + width + padding-right + border-right + margin-right

  但是,IE计算宽度时没有加上填充和边框:

  总宽度 = margin-left + width + margin-right

  更多的细节,请参考这个链接:Internet Explorer和CSS盒模型详细解释

  解决方法:

  使用w3c的标准兼容模式。IE6或者之后的版本能基于w3c的标准计算,但是你仍旧会在IE5中遇到问题。

  或者你可以用CSS Hack来解决这个问题。所有标准兼容的浏览器都能读取width:180px 除了IE5。

  #content {

  padding:10px;

  border:1px solid;

  width:200px;

  width:180px;

  }

  10、 双倍边距bug(Double Margin Bug Fix)

  如果你有一个分配有左/右边距的浮动元素,IE6会使得边距双倍化。比如,margin-left:5px 将会变成10px。你可以通过对浮动元素添加display:inline来解决这个问题。

  解决方法:

  div#content {

  float:left;

  width:200px;

  margin-left:10px;

  /* fix the double margin error */

  display:inline;

  }

相关文章
梦幻西游三维版圣诞鹿坐骑获取攻略 梦幻西游三维版圣诞鹿坐骑获取方法
梦幻西游三维版圣诞鹿坐骑获取攻略 梦幻西游三维版圣诞鹿坐骑获取方法

玩家直接在商城中购买即可获得圣诞鹿坐骑。玩家也可以在坐骑列表中购买,还能看到坐骑的效果图。

王者荣耀觉醒之战是什么模式 觉醒之战模式有什么不同
王者荣耀觉醒之战是什么模式 觉醒之战模式有什么不同

王者荣耀觉醒之战模式用的是正式地图,英雄的技能都得到了强化,泉水出门有移动速度加成,小兵和野怪得钱的收益增加,boss的刷新时间提前,防御塔护盾消失时间提前。

明日之后病毒学家技能怎么点 明日之后病毒学家加点攻略
明日之后病毒学家技能怎么点 明日之后病毒学家加点攻略

明日之后中,病毒学家加点方法为,第一种队医型:采样+活化技术+高效利用+护佑团队+扩散技术+T激素。第二种战斗型:采样+活化技术+病毒子弹+高效利用+病毒药剂强化+扩散技术+毒效渗透+T激素+病毒效能+医疗克星+病毒传染。

艾尔登法环什么职业最强 艾尔登法环最强职业介绍
艾尔登法环什么职业最强 艾尔登法环最强职业介绍

艾尔登法环是具有黑暗幻想风格动作角色扮演游戏,玩家在游戏内可以扮演、勇士、剑士、预言家等职业角色,但很多玩家好奇艾尔登法环游戏中什么职业最强,T0职业排行最强的是武士,

子弹短信和微信的区别有哪些 子弹短信和微信区别对比
子弹短信和微信的区别有哪些 子弹短信和微信区别对比

微信是我们都非常熟悉的,而新出的子弹短信,不少人都不是很了解。而子弹短信有什么特点?子弹短信和微信的区别有哪些呢?文中详细介绍。

win10精简版缺点是什么 win10精简版缺点介绍
win10精简版缺点是什么 win10精简版缺点介绍

在安装win10系统的时候,因为win10有很多个版本,很多小伙伴不清楚每一个版本的性能和特点,很多用户推荐精简版,那么win10精简版有缺点吗?win10精简版缺点是什么?作为精简版功能和性能

相关软件
联网报警v1.3
联网报警v1.3
大小:10.3MB 时间:2020-09-03
下载

联网报警

功夫链安卓版 v1.0.6
功夫链安卓版 v1.0.6
大小:21.5M 时间:2020-09-14
下载

功夫链app下载-功夫链app是一款少林功夫学习应用。用户可在功夫链app内选择专业教学课程进行学习,并可在功夫链app内考取相关证书,非常方便,您可以免费下载安卓手机功夫链。

美甲发型团购折扣v3.3.4
美甲发型团购折扣v3.3.4
大小:32.5MB 时间:2023-10-18
下载

美甲 头型 团购 折扣 app是一款 美容 美甲运用,美甲头型团购折扣app为客户出示一个美甲团购服务平台,便捷客户在这儿享有特惠性价比高的美容美甲买东西服务项目。 功能介绍 中国新公

万年历2020年日历v5.2.0
万年历2020年日历v5.2.0
大小:46.6MB 时间:2020-09-28
下载

  万年历2020年日历事宜查询集成万年历日历农历为一体,万年历2020年日历黄历表让你轻松的使用农历表进行农历查询,万年历2020年日历可以让你了解作息详情。

社区掌上通v1.1.2
社区掌上通v1.1.2
大小:11.7MB 时间:2022-07-08
下载

为您提供社区掌上通 v1.1.2安卓版,手机版下载,社区掌上通 v1.1.2apk免费下载安装到手机.同时支持便捷的电脑端一键安装功能!

360安全浏览器10.1版本 正式版
360安全浏览器10.1版本 正式版
大小: 时间:2022-10-10
下载

360安全浏览器10.1版本是由360官方推出的一款非常不错的主页浏览软件,如果你对老版本有所需求的话,那么这款浏览器绝对可以满足到你,它是10.1版本,拥有界面简洁、功能齐全、操作简单等优势。