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

摘要:
解决IE6兼容性问题的10个要点1。使用语句时,必须始终在html页面的标题中放置语句。建议使用严格的标准。显示:内联可以解决此问题。虽然没有必要,但css仍然有效。这是IE的内置设置。它确定内容块相对于其他内容块具有边界和位置。重要的,或高级选择器,而不是IE特定代码IE6兼容性解决方案7使用!(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:10px9;属性值的后面加“9”,这个只有IE才能识别。以上两种方法结合起来可以区分IE6、IE7、IE8+、非IE内核浏览器。

免责声明:内容来源于网络,仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇Linux操作系统的安装以及基本的操作命令详解2014年十个优秀的免费CDN加速服务-国内和国外免费CDN下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

软件版本控制中的版本号

以下是从网上搜索到的一些关于软件控制方面的知识。网上在这方面资料非常少,发到博客上给有需要的人看。 版本号由二至四个部分组成:主版本号、次版本号、内部版本号和修订号。主版本号和次版本号两个部分为必选。内部版本号和修订号两个部分为可选;但是,只有在未定义内部版本号部分时,修订号部分才为可选。所有定义的组件必须是大于或等于   0   的十进制整数。元数据将主...

webpack 5 与 webpack-dev-server 3兼容性问题

说明:这里使用的是webpack: "^5.9.0",webpack-cli: "^4.2.0",webpack-dev-server: "^3.11.0" 问题1:通过 npx webpack-dev-server 启动项目失败,报错:Error: Cannot find module 'webpack-cli/bin/config-yargs' 解决...

Web前端测试要点

Web前端测试维度: 功能性:功能准确性、兼容性 易用性:易学性、易理解性、易操作性、吸引性 可靠性:成熟性、容错性、稳定性、可恢复性、安全性 可移植性:适应性、易安装性、兼容性 可维护性:易分析性、易测试性 效率:时间特性、资源利用性 调优点: 1. 减少http请求的数量 2. 用好浏览器缓存机制 3. 利用GZIP压缩机制:只针对文本类资源有效...

系统测试

什么叫系统测试? 系统测试是对整个系统的测试,包括相关的软硬件平台、网络以及相关外设的测试。   系统测试包含哪些类型的测试? 以下从质量的量子模型角度出发,得出系统测试包含以下几种类型: 关于系统测试" title="测试思想-系统测试 关于系统测试" border="0">     功能性{密保安全性,互操作性}--》安全性测试,功能测...

前端开发要注意的浏览器兼容性问题整理

首先,我们要知道,为什么各浏览器会产生兼容性问题?     产生这个问题的主要原因是市面上的浏览器的种类很多,但由于不同的浏览器的内核不一致,从而导致各个浏览器对网页的解析就产生了差异。解决浏览器兼容性问题,还是从三个方面入手:html部分、css部分、js部分。       1、html部分       a、最突出也是最容易想到的就是高版本的浏览器用了低...

js-link下载文件

1. 需求 JS要实现下载功能,一般都是这么几个过程:生成下载的URL,动态创建一个A标签,并将其href指向生成的URL,然后触发A标签的单击事件,这样就会弹出下载对话框,从而实现了一个下载的功能。 这里所说的下载,有时候也可以理解为保存。出于安全考虑,JS肯定无法直接调用FileAPI写文件到磁盘,但是却可以通过下载来变相实现保存功能。 2.1. JS...