IE6:

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>

继续阅读 »