IE解析UL和LI的规则和问题
今天遇到一个问题,IE6和IE8解析同一个HTML,出现了2种结果
<html>
<head>
</head>
<body>
<ul id="ul1">
<li id="li1"><a>test1</a></li>
<ul id="ul2">
<li><a>test2></a></li>
</ul>
</ul>
</body>
</html>
以上html代码其中还有样式,这里就不写出来了。
IE6解析后代码结构变为(如下图),其实就是和li1同一层级的ul2变成了li的子集。
<html>
<head>
</head>
<body>
<ul id="ul1">
<li id="li1">
<a>test1</a>
<ul id="ul2">
<li><a>test2></a></li>
</ul>
</li>
</ul>
</body>
</html>
IE8解析后代码结构变为(如下图),没有发生变化。
<html>
<head>
</head>
<body>
<ul id="ul1">
<li id="li1"><a>test1</a></li>
<ul id="ul2">
<li><a>test2></a></li>
</ul>
</ul>
</body>
</html>
至此,我们得出结论,IE6没IE8智能,但是其实这是错的,其实IE8在不加样式的情况下测试这段代码也应该和IE6相同,只不过是样式的问题而强行让IE8按照开发者写的html格式来解析。是什么css样式起了作用,还无从而知。