IE6和XML序言

时间:2008-09-04 16:08:44

标签: internet-explorer-6 standards

使用像

这样的XML序言
? xml version="1.0" encoding="iso-8859-1"? >

这样的Doctype
!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN"
   "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">

我可以让我的页面按预期呈现。但是,在IE7中,同一页面无法正确呈现。 (div内部的跨度不会垂直对齐)Web上的文章表明XML prolog + doctype会将IE6置于怪癖模式。然而this article似乎提示不然,虽然它没有提到它适用的版本(是6或7),尽管该文章的日期为2005年,这使我相信它适用于IE6

XML Prolog + doc类型是否会将IE6引入怪癖模式? IE7怎么样?有关支持或反对使用prolog + doctype的任何建议吗?

1 个答案:

答案 0 :(得分:2)

在doctype之前添加XML prolog会将IE6引入怪癖渲染模式。 (See here.)实际上,doctype之前的任何空格都会将IE6抛入怪癖模式。 IE7及以上版本不是这种情况。您可以使用document.compatModeexample)让浏览器告诉您使用哪种模式进行渲染。

MSDN上的IE博客条目是指对IE7所做的更改,允许IE7在使用适当的doctype时保持标准模式,即使它前面有XML序言。

我一般建议省略prolog并将浏览器保持在标准模式;我认为这会让你的生活更轻松。