IE6中十大CSS兼容性解决方案
创始人
2024-07-14 04:11:05
0

本文向大家简单介绍一下IE6中常见CSS兼容性解决技巧,IE6浏览器目前的市场份额仍然很高,因此作为网页前端开发来说,无可避免的必须兼容IE6浏览器,相信通过本文的学习你对IE6中常见CSS兼容性一定会有深刻的认识。

IE6中常见CSS兼容性解决技巧

1、使用一个声明

你必须经常在HTML网页头部放置一个声明,推荐使用严格的标准。同时需要是IE6进入兼容模式,这已经足够兼容的了。

2、使用position:relative

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

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

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

4、设置元素启动hasLayout

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

5、修复重复字符的bug

复杂的布局会触发一个bug:浮动对象的***字符会出现在已经清除浮动的元素后面。这里有几种解决的办法,部分是理想的,并且一些测试和出错是必须的。

◆确保浮动元素都使用:display:inline;

◆***一个浮动元素使用margin-right:-3px;

◆在浮动对象***一个元素后使用一个条件注释。例如这里输入注释…

◆在容器内的***使用一个div空标签(它也必须设置90%宽度甚至更小)。

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

IE6只支持a标签的CSS定义hover效果,你可以使用它去控制javascript启动的widgets,使得他们仍然保持键盘操作。这里有个二择一的问题,但是a标签是所有解决方案中最可靠的。IE6不支持“min-height”并且错误的将20em重写为“auto”。不过,当内容大于设置的空间时,它会增加它的尺寸。另外一个选择是使用高级选择符。例如:

  1. #element{min-height:20em;height:20em;}  
  2.  
  3. /*ignoredbyIE6*/#element[id]{height:auto;}  
  4.  

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

在外置的CSS文件里,放弃凭借传统的hacks和条件判断,使用有效的CSS代码去针对IE6仍然是有可能的。例如:最小高度可以使用一下定义。

  1. #element{min-height:20em;height:auto!important;  
  2.  
  3. /*understoodbyallbrowsers*/height:20em;  
  4.  
  5. /*IE6incorrectlyusesthisvalue/*}  
  6.  

8、避免百分比定义

百分比在IE下比较混乱。除非你非常小心每个父元素的尺寸,这样就大概可以***避免了。你仍然可以对其他浏览器使用!important来使用百分值。例如:

  1. body{margin:2%0!important;margin:20px0;/*IE6only*/}  
  2.  

9、早点和经常测试

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

10、重构你的代码

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

【编辑推荐】

  1. 使用CSS display:none时注意事项
  2. CSS display:inline和float:left两者区别
  3. 深入探究DIV CSS布局中position属性用法
  4. CSS属性display:inline-block使用揭秘
  5. CSS display:block显示布局错乱解决方案

 

相关内容

热门资讯

如何允许远程连接到MySQL数... [[277004]]【51CTO.com快译】默认情况下,MySQL服务器仅侦听来自localhos...
如何利用交换机和端口设置来管理... 在网络管理中,总是有些人让管理员头疼。下面我们就将介绍一下一个网管员利用交换机以及端口设置等来进行D...
施耐德电气数据中心整体解决方案... 近日,全球能效管理专家施耐德电气正式启动大型体验活动“能效中国行——2012卡车巡展”,作为该活动的...
Windows恶意软件20年“... 在Windows的早期年代,病毒游走于系统之间,偶尔删除文件(但被删除的文件几乎都是可恢复的),并弹...
20个非常棒的扁平设计免费资源 Apple设备的平面图标PSD免费平板UI 平板UI套件24平图标Freen平板UI套件PSD径向平...
德国电信门户网站可实时显示全球... 德国电信周三推出一个门户网站,直观地实时提供其安装在全球各地的传感器网络检测到的网络攻击状况。该网站...
着眼MAC地址,解救无法享受D... 在安装了DHCP服务器的局域网环境中,每一台工作站在上网之前,都要先从DHCP服务器那里享受到地址动...
为啥国人偏爱 Mybatis,... 关于 SQL 和 ORM 的争论,永远都不会终止,我也一直在思考这个问题。昨天又跟群里的小伙伴进行...