首页 » 技术文章 » 解决IE6兼容性问题的十一大技巧

解决IE6兼容性问题的十一大技巧

时间: 2014-04-02 阅读: 11,277 次 评论: 0 条
TAG: , ,

IE6是微软一款经典的浏览器,和XP系统一样一个永恒的经典,但是由于被微软抛弃了,微软为了推广新系统,放弃了IE6的升级,包括安全性以及网页代码的兼容性都无法更新了,但是我们在编写代码的时候,但是还是有一些人在用IE6浏览器,为了提高用户体验,我们有时候就必须考虑一下ie6这个古董级的浏览器的界面兼容问题。

 

说要10要点解决IE6兼容性问题

1、使用声明

你必须经常在html网页头部放置一个声明,推荐使用严格的标准。例如

<!DOCTYPEHTMLPUBLIC“-//W3C//DTDHTML4.01//EN”   "http://www.w3.org/TR/html4/strict.dtd”> or,forXHTML:  <!DOCTYPEhtmlPUBLIC“-//W3C//DTDXHTML1.0Strict//EN”   "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd”>

最后你需要是IE6进入兼容模式,这已经足够兼容了。

2、使用position:relative

IE6兼容性问题解决方案二:使用position:relative。设置一个标签position:relative可以解决很多问题,特别是曾经有过看不见的经历或者奇怪布局的框架。明显的,你需要小心,绝对位置放置的子元素是否都参照找到新位置。

3、为浮动元素使用display:inline

浮动元素会有一个著名的IE6双边距marginbug。假如你设置了左边距5px但实际上得到了10px左边距。display:inline可以解决这个问题,尽管它不是必需的,但是css仍然有效。

4、设置元素启动hasLayout

大部分IE6(IE7)的渲染问题都可以通过起来元素的hasLayout属性来兼容。这是IE内置的设定,确定一个内容块相对其它内容块是有界限和位置的。当你需要设置一个行内元素例如一个连接变成块状元素或者是透明效果,设置hasLayout也是必须的。

5、修复重复字符的bug

复杂的布局会触发一个bug:浮动对象的最后字符会出现在已经清除浮动的元素后面。这里有几种解决的办法,部分是理想的,并且一些测试和出错是必须的。
a、确保浮动元素都使用:display:inline;
b、最后一个浮动元素使用margin-right:-3px;
c、在浮动对象最后一个元素后使用一个条件注释。例如<!—>这里输入注释…<![endif]
d、在容器内的最后使用一个div空标签(它也必须设置90%宽度甚至更小)

6、使用a标签完成可点击和hover原理

IE6只支持a标签的css定义hover效果
你可以使用它去控制javascript启动的widgets,使得他们仍然保持键盘操作。这里有个二择一的问题,但是a标签是所有解决方案中最可靠的。

7、使用!important,或是高级选择符替代IE特定代码

IE6兼容性问题解决方案七;:使用!important。在外置的css文件里,放弃凭借传统的hacks和条件判断,使用有效的css代码去针对IE6仍然是有可能的。例如:最小高度可以使用一下定义。(在IE6中无法识别!important优先级别标签,所以一般用法为:{margin-top:20px !important; margin-top:0px;})

#element{  min-height:20em;  height:auto!important;  height:20em;  }

9、早点和经常测试

在你的网站和应用程序完成之前,不要放弃IE6的测试。问题将会更加严重并且需要很长时间去修复。如果你的网站可以运行于firefox和IE6,它将差不多肯定可以在其它浏览器下运行。

10、重构你的代码

IE6兼容性问题解决方案十:重构代码。经常的,修复会比重新考虑布局问题更加花费时间。Html细微的修改和更加简单的css经常是最有效的。这意味着你要放弃完美的合法的代码,但是将会更少的问题出现,并且你知道怎样处理将要出现的情况。

#element[id]{  height:auto;  }

注意事项

*margin-top:10px; 属性前加“*”,这个只有IE6/IE7才能识别。

例如:

div{    margin-top:10px; *margin-top:0px;}

“*”或“+”或“_” + 属性,这个只有IE6和IE7才支持此种标签。

*margin-top:10px \9; 属性值的后面加“\9”,这个只有IE才能识别。以上两种方法结合起来可以区分IE6、IE7、IE8+、非IE内核浏览器。

————————————————————————————————————————————————————————

代码部分试了下语法着色,貌似有点乱了,这里是英文原文的链接:http://www.sitepoint.com/blogs/2009/03/06/10-fixes-for-IE6-problems/



作者:行客工作室
简介:本网站成立于2011年,分享各种优化软件、视频教程、电影电视剧下载。
宗旨:不为盈利,纯粹兴趣爱好做的个人博客网站,所以分享的各种资源绝无病毒木马。


打赏 支付宝打赏 微信打赏

如果文章对您有帮助,欢迎移至上方按钮给行客工作室打赏

  • WPA2

    无线路由器WPA2破解教程

  • qiniu

    七牛云存储:mp3等文件真正的免费直链外链空间:10G免费空间

  • 360doc

    360doc个人图书馆文章不能复制最简单的解决办法

  • 百度网盘

    百度网盘下载速度很慢最有效 最简单的解决办法

  • 关机

    微软官方推出的解决XP系统电脑关机很慢的工具

  • kabasiji2017

    卡巴斯基安装错误的解决办法

  • win8专业版

    突破权限修改Win8系统hosts文件的方法

  • win8的administrator账户Metro菜单下无法打开这个应用的解决办法

  • 谷歌浏览器插件安装

    谷歌浏览器无法安装扩展插件的解决办法

  • office 365 logo

    提示office已经永久激活 或者当前版本不支持KMS激活的解决办法

发表评论

电子邮件地址不会被公开。




您可以使用这些 HTML 标签和属性: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

(Spamcheck Enabled)

icon_wink.gif icon_neutral.gif icon_mad.gif icon_twisted.gif icon_smile.gif icon_eek.gif icon_sad.gif icon_rolleyes.gif icon_razz.gif icon_redface.gif icon_surprised.gif icon_mrgreen.gif icon_lol.gif icon_idea.gif icon_biggrin.gif icon_evil.gif icon_cry.gif icon_cool.gif icon_arrow.gif icon_confused.gif icon_question.gif icon_exclaim.gif 

暂时没有评论!