解决IE6兼容性问题常见方法

本文分享了解决IE6兼容性问题的常见方法,包括使用声明、position:relative、display:inline、设置元素启动hasLayout等技巧。还介绍了如何修复重复字符的bug和使用a标签实现可点击和hover原理,旨在帮助开发者提升代码兼容性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 
 
你对解决IE6兼容性问题常见方法是否了解,这里和大家分享一下,希望对你的学习有所帮助,欢迎大家一起来学习。

解决IE6兼容性问题常见方法

1、使用声明

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

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

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

2、使用position:relative

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

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

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

4、设置元素启动hasLayout

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

5、修复重复字符的bug

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

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

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

【编辑推荐】

  1. 解决IE6兼容性问题的十大技巧
  2. 学习笔记 IE8兼容代码用法解析
  3. IE6 IE7 IE8 FF浏览器的CSS兼容问题探究
  4. 微软发布升级版IE8Beta2浏览器 新特性敬请关注
  5. 技术前沿 DIV+CSS布局网页对网站SEO的影响
1 不同浏览器对浮动float和相邻不浮动对象的解析不同 IE会让相邻的也浮动起来,Chrome 和FF不会,他们的float对象不再占据空间,所以显示效果也不同。 Chrome 下 IE <style> body{ padding:0; margin:0;} #yi{ background:#0033FF; height:298px; width:298px; padding:1px; } #er{ background:#FF0000; width:30px; height:30px; float:left; } #er2{ background:#00FF00; width:30px; height:30px; float:left; } #san{ background:#00FFFF; width:230px; height:90px; border:1px #00FFFF solid;} </style> </head> <body> </body> </html> --------------------------------------------------------------------------------------------- 1.关于background的背景图片 的 fixed固定定位 Firefox是支持background:fixed;定位的,IE6只能说是半支持,好吧,这么说吧,可能不太严谨,就是背景图片固定的效果似乎只在根结点起作用。举个很简单的例子: 先看这段css代码: body{background:url(../image/404.png) no-repeat fixed center center;} div{height:2000px;} HTML部分为: <body><div></body> 其结果是无论IE6还是火狐浏览器下,背景图片都是固定的死死的,不错。但是,一旦html标签带着background属性参合进来,事情就要发生转变了。问题代码: html{background:white;} body{background:url(../image/404.png) no-repeat fixed center center;} div{height:2000px;} 结果IE6下,背景不固定了,只看到背景图片随着滚动条上下移动而移动。演示页面 要解决这个问题呢,也是有办法的,就是将fixed属性转移到html标签上就可以了。即: html{background:white url(../image/404.png) no-repeat fixed center center;} div{height:2000px;} 就可以了。 2.关于height:100%; 要想高度百分比起作用,一般来说,要满足两个条件:其一,父标签有高度可寻,就是向上遍历父标签要找到一个定值高度(body,html另外讨论),如果中途有个height为auto或是没有设置height属性,则高度百分比不起作用;其二,标签本身的属性,如果inline属性的标签
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值