IE8是否有渲染错误,如6或7?

时间:2009-11-08 04:12:21

标签: css internet-explorer-8 cross-browser xhtml

IE8是否有像IE6或IE7这样的渲染错误?如果我在Firefox 3.5中正确渲染我的网站,它在IE8中看起来是否相同,或者是否需要其他更改/黑客/等?

我想让我的网站IE8兼容。我需要为此做些额外的事吗?

更新:2010年3月6日

我是否有必要为IE8添加条件CSS?

4 个答案:

答案 0 :(得分:11)

所有浏览器都有各种怪癖,没有任何浏览器可以保证显示或行为与另一个浏览器相同。虽然W3C在扩展应该标准化的功能方面取得了很大进展,但许多RFC尚未进入Recommendation阶段,这意味着它将不再发生变化,而且更多可能是可接受的标准。 因此,您必须确保您的网站至少在您的焦点小组中使用

首先,使用reset.cssnormalize.css。两者都试图服务于相同的目标(浏览器之间的一致性修复),但每个都从不同角度攻击问题。因此,请确保选择最适合您的那个。虽然并不完美,但它们在所有浏览器中都非常接近,如果没有它,它就会超出你的预期。

其次,查看QuirksMode以查看various browser compatability标准(这些标准是否处于推荐阶段)。您可以在此处决定将使用的功能与焦点组的兼容性。

第三,凭借“一致”CSS基础的新功能,以及浏览器支持什么的知识,请务必阅读,拥抱,宣讲和应用渐进增强技术(请参阅下面我喜欢的文章)。渐进式增强的力量是使用可以起作用的东西,而不是试图将肥胖的脚踩到纤细的鞋子里。

有关渐进增强的文章:

  1. http://www.alistapart.com/articles/understandingprogressiveenhancement
  2. http://www.alistapart.com/articles/progressiveenhancementwithcss
  3. http://en.wikipedia.org/wiki/Progressive_enhancement
  4. 最后,安装您在焦点组中考虑的任何其他浏览器。这样做可以让您毫无疑问地测试页面上的外观。

    在Windows上,我建议安装IE9,以便能够将渲染模式切换到旧版本的IE。虽然这些渲染模式并不完美,但在大多数情况下,它们可以像真实的一样可靠。如果您无法安装IE9,我会为您感到遗憾,但幸运的是,IE8为渲染模式提供了类似的功能。

    在其他任何事情上(如果你想要真正的IE浏览器而不是仿真,甚至是windows),你需要运行一个windows虚拟实例。有很多方法可以获得,MS甚至提供各种实例的图像,专门为开发人员能够测试旧版本的IE。有关MS提供IE6和IE7 VPC的位置的详细信息,请参阅this blog post

    使用这些工具,您应该能够开发出一种看起来不设计的设计,并且可以在100%的浏览器中优雅地降级,并验证它是否正确实现。虽然它可能有点令人生畏,但这将大大降低发布时显示/ js相关错误的可能性。

答案 1 :(得分:3)

是的,IE 8仍有一些渲染错误。其中大多数是固定的,但我认为这些仍然存在:

  • text-align属性应用于块元素,而不仅仅是内联元素。

  • 即使没有内容,元素的内容仍然是一个字符。

当然,这还取决于您使用的doctype。如果没有正确的doctype,页面将以怪癖模式呈现,这几乎会将浏览器抛回IE 4。

如果您针对不同的浏览器/版本组合使用不同的样式表,则需要另一个样式表。 IE 8的行为与任何其他浏览器或IE版本完全不同。我总是为所有浏览器使用一个样式表,我不需要对它进行任何更改就可以使它适用于IE 8。

答案 2 :(得分:3)

扩展@ Kevin和@James的答案,另一个好的资源是Browser Shots,以便在不同的浏览器和平台上获取您网站的屏幕截图。对于测试您无权访问的浏览器/版本非常有用,尤其是对于棘手的CSS布局。

我用它来查看Mac和Linux浏览器的输出,因为我在一家仅限Windows的商店工作。

请注意,网址必须可从外部访问;如果你在本地盒子上开发,你需要在防火墙上戳一个洞,并且可能设置一个动态DNS名称而不是IP地址。

答案 3 :(得分:2)

已编辑我移动了一个段落并根据一些反馈重写了它。

如果您浏览http://quirksmode.org,您会找到解释各种浏览器之间差异的兼容性页面,包括Firefox 3.5和IE8。

您很可能会进行更改,但这取决于您使用的内容,因为有许多相似之处,不需要更改。