IE8避免网页显示混乱

[size=medium]

IE8实现“超级标准模式”的事儿,IE开发团队为了让只认识IE的,用 IE6/7的所谓“符合标准”代码,错误的实现他们想要的样式的网页作者们不用修改他们的网页,决定让IE8在“标准模式”下实现IE7的显示结果,而实现“更正确”的标准需要在网页中加入一段META信息。
嗯,技术一点来说,IE6依靠DOCTYPE来区分怪癖模式(IE5.5或更早版本的绘制网页方式)和标准模式,但IE6实现的“标准模式”依然有许多错误,而当IE7改进“标准模式”时,这些“错误的标准模式的代码”就会展现出错误的样式。为了避免该问题再发生在IE8身上,IE团队决定使用一个META标签或HTTP包header来告诉浏览器,用“超级标准模式”来绘制网页,而现在的标准网页将默认为IE7的绘制方式。
  如果ACID2测试网页要想在IE8下正确表现,ACID2测试需要修改网页,加上一个META信息,告诉IE8用“超级标准模式”。<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

  随着IE8 beta1的发布,发现连sina有显示问题,由于IE8 对标准的“良好”执行,当 XHTML 文档使用 Transitinal 类型时,会自动选择 Quirks 模式,即 IE5 的模式来解析,所以也就不难理解为何大多数站点会遭遇显示问题了。
  如何处理该问题呢?方法如下:
  1. 将文档类型改成 Strict。也就是将
  <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  改成
  <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-Strict.dtd">
  2. 该完之后如果还没有解决问题,那么只好强制声明了,在 </head>结束之前加入
  <meta http-equiv="X-UA-Compatible" content="IE=8" />
  如果需要工作在 IE7 Strict 模式下,改成 IE=7。
   这样一来,破相的问题就基本解决了。如何查看 IE8 的工作模式呢,在 IEBlog 的留言中有解答,执行 javascript:alert(document.documentMode);,返回 5,说明工作在 IE5 Quirks 模式下;返回 7,说明工作在 IE7 Strict 模式下;返回 8,说明工作在 IE8 Standards 模式下。[/size]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值