IE hasLayout效率测试(载入包含53100个“<div><p>hasLayout test</p></div>”标签的页面)

(文本较大,请下载至本地测试:haslayout.zip


什么情况下hasLayout不会出现?

一般情况都不会出现,当然除了下面罗列的默认具有hasLayout的元素和使用特定样式触发以外;

它会带来各种诡异表现,当你发现IE7-出现了一些不可思议的问题,首先要检查的就是是否是hasLayout在捣鬼;
hasLayout只出现在IE7及更早版本中,IE8不存在hasLayout解析模式,我们只讨论指定doctype的情况。

hasLayout的触发条件:
清除或重置hasLayout:
默认具有hasLayout的元素:

<html>, <body> <table>, <tr>, <th>, <td> <img> <hr> <input>, <button>, <select>, <textarea>, <fieldset>, <legend> <iframe>, <embed>, <object>, <applet> <marquee>

参考:

资料来源:<onhavinglayout>