IE6不支持的CSS特性列表

12

我刚完成了一个很不错的无表格css模板的切图和编码,一直在用IE7和Chrome测试。

然后我突发奇想,想在IE6下测试这个模板,于是我在虚拟机上安装了Windows XP,然后在IE6中打开我的网站。

看起来非常糟糕!

我的页面格式看起来像垃圾,没有在IE7和Chrome中正确显示。我知道IE6不支持某些东西,但我没有想到我的页面会呈现如此之差。

因此,我想知道是否有一个地方可以查看IE6不支持的内容,这样我就可以修复我的CSS,甚至为IE6创建一个新的CSS。

任何信息都将非常有帮助!

谢谢!


1
那将是一个非常长的列表... 即使过了很多年,IE6仍然会偶尔让我惊讶,因为我之前没有看到或注意到的一些渲染错误。 - Tamas Czinege
这与您的问题并不直接相关,但是与其在虚拟机下安装 XP,不如使用 IETester,它可以显示您的网站在 IE 5.5、6、7 和 8 中的外观。http://www.my-debugbar.com/wiki/IETester/HomePage - Aistina
1
不使用XP和VM是不行的。IETester没有许可证来重新分发IE dlls,因此在技术上是非法的。 - Keith
9个回答

23

IE6有很多CSS错误,这会影响您的页面渲染。 官方支持列表在此处

另一个可能有帮助的网站是 positioniseverything.net,他们有IE错误及其修复方法的全面列表。

如果您仍然无法解决问题,请发布您页面的链接。


我忘了也提到CSS-Discuss。那个邮件列表教会了我几乎所有我知道的东西。 - roborourke

7

我不同意。长期来看,怪癖只会给你带来痛苦。请记住,怪癖/标准模式也会影响IE中的JavaScript。 - scunliffe
抱歉,也许我表达不够清楚。Quirksmode是该网站中的一个链接。我会编辑帖子,谢谢。 - Miguel Ping

5
我想你的电脑上已经安装了Firefox。如果是这样,请安装Firebug插件(本身就很棒),但如果你还安装了Sitepoint的新插件FireScope,它将允许你在Firebug中右键单击元素,并为你的CSS和HTML(以及额外的代码示例)提供浏览器兼容性图表。
使用Firebug,您还可以实时编辑CSS并查看结果效果,这可以节省很多时间!
一旦您确定了站点中出现问题的区域,请使用以下方法来使用IE6特定样式表对其进行更正,以使您的设计保持在现代浏览器中按照您的意愿工作。
<!--[if IE 6]>
<link rel="stylesheet" type="text/css" href="/Css/IE6.css" media="all" />
<![endif]-->

作为额外的提示,不透明度和带有透明背景的PNG或GIF通常在IE6中无法正常使用,如果你正在使用JavaScript,我强烈建议你使用Prototype或JQuery等JavaScript库。

这种方法的可扩展性不太好,因为接下来你会为ie8添加另一个CSS,因为它具有漂亮的模糊效果等。 - Miguel Ping
如果您开始使用专有的浏览器过滤器,我想是可以做到的,但是在不使用这些过滤器的情况下,您仍然可以进行很多设计。我建议只在关键修复方面使用条件样式表,例如使旧版浏览器无法使用的内容,而不是为了让网站变得更漂亮而使用条件样式表。 - Nick Allen

4

以下是一些示例:

  • 子元素选择器:a>b {}
  • 相邻选择器:a + b {}
  • 属性选择器:[id="my_id"] {}

一个很好的不兼容性使用示例是在 CSS Zen Garden 设计中使用 IE6 和 Firefox 的 Gemination

此外,您可以通过 A List Apart 网站获取有关此主题(以及许多其他 Web 设计主题)的资源。


3

我最常遇到的那些:

- li:hover (or on any element except a)
- min/max-width
- min/max-height

2
首先,我建议您使用Eric Meyer的重置样式,这将确保尽可能正确地支持跨浏览器。其次,我会重新审查Yadyn的帖子关于“了解敌人”。虽然这可能是一场噩梦,但必须做到,因为统计数据将显示,即使IE6不再积极开发并已被IE7取代,它仍然广泛使用。

1
除了上述提到的事项外,确保使用一个文档类型,使IE6+使用标准模式。在标准模式下,错误和hack几乎可以被控制,而无需拥有完全不同的样式表。
否则,IE6将恢复到怪异模式,您基本上需要支持IE5,并承受所有相关的盒模型hack的可怕后果。

我正在使用“XHTML 1.0 Strict”,可以吗? - Bruno
是的!您可以通过在地址栏中输入“javascript:alert(document.compatMode)”来检查它是否被拾取。您希望它显示“CSS1Compat”。 - bobince

0

对我来说永远不起作用的是visibility属性。这真的很烦人(不,它不同于display!)


也许是因为你应该将其拼写为“visibility”属性?这是最古老和最好支持的CSS属性之一,甚至可以追溯到Netscape 4和IE3... - bobince
已更正。我在Firefox、IE7等浏览器中尝试过,但在IE6中无法工作。可能只是我的问题... - Ross

-3

如果你查看W3Schools网站,它会告诉你哪些属性在哪个浏览器中得到支持。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接