1、使用声明
你必须经常在html网页头部放置一个声明,推荐使用严格的标准。例如
<!DOCTYPE HTML PUBLIC “-//W3C//DTD HTML 4.01//EN”"http://www.w3.org/TR/html4/strict.dtd”>or, for XHTML:
<!DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.0 Strict//EN”"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd”>最后你需要是ie6进入兼容模式,这已经足够兼容了。
2、使用position: relative
设置一个标签position: relative可以解决很多问题,特别是曾经有过看不见的经历或者奇怪布局的框架。明显的,你需要小心,绝对位置放置的子元素是否都参照找到新位置。
IE6的兼容性是网页制作中头疼的问题,IE6中用了float:left之后会导致出现margin-left双倍边距的BUG,这里分享一下IE6中float产生双倍margin的解决方案,收藏备忘。
比如我们需要浮动到左边并具有10px的边距,CSS代码如下:
.boxLeft { float:left; margin-left:10px; }
在IE7,Firefox等浏览器下能正确解释左边距10px。但是在IE6下会理解为左边距20px。也就是说,在与浮动同方向的空白边会加倍。解决方法是加上:display:inline;
在网页布局时常会用到 DIV 来显示一些边角背景,需要设置较小的高度,默认情况下,IE6 中设置 DIV 较小高度会不起作用,在 IE7、FF 等浏览器不存在这个问题。
IE6 下默认的字体尺寸大致在 12 - 14px 之间,当你试图定义一个高度小于这个默认值的 DIV 的时候, IE6 会固执的认为这个层的高度不应该小于字体的行高。所以即使你用 height:5px; 来定义了一个 DIV 的高度,实际在 IE6 下显示的仍然是一个 12px 左右高度的层。
要解决这个问题,可以强制定义该 DIV 的字体尺寸,或者定义 overflow 属性来限制 DIV 高度的自动调整。比如:
<div style="height: 5px; font: 0px Arial; line-height:0;"></div>