我一直在使用IE6多年[sob],但之前从未见过这个特定的错误,我似乎无法在网上找到它的引用。问题似乎在于IE6如何解析嵌套列表的HTML。即使标记是正确的,IE6在解析时会以某种方式对代码进行清除,并删除某些<li>
元素的结束标记。
例如,请使用以下代码:
<!DOCTYPE html>
<html>
<head>
<title>My Page</title>
</head>
<body>
<div>
<ul>
<li><a href=''>Child A</a>
<div>
<ul>
<li><a href=''>Grandchild A</a></li>
</ul>
</div>
</li>
<li><a href=''>The Child B Which Is Not A</a>
<div>
<ul>
<li><a href=''>Grandchild B</a></li>
<li><a href=''>Grandchild C</a></li>
</ul>
</div>
</li>
<li><a href=''>Deep Purple</a></li>
<li><a href=''>Led Zeppelin</a></li>
</ul>
</div>
</body>
</html>
现在看一下IE6在通过IE6渲染引擎运行后如何呈现此代码:
<HTML>
<HEAD>
<TITLE>My Page</TITLE></HEAD>
<BODY>
<DIV>
<UL>
<LI><A href="">Child A</A>
<DIV>
<UL>
<LI><A href="">Grandchild A</A> </LI>
</UL>
</DIV>
<LI><A href="">The Child B Which Is Not A</A>
<DIV>
<UL>
<LI><A href="">Grandchild B</A>
<LI><A href="">Grandchild C</A> </LI>
</UL>
</DIV>
<LI><A href="">Deep Purple</A>
<LI><A href="">Led Zeppelin</A> </LI>
</UL>
</DIV>
</BODY>
</HTML>
请注意,对于某些<li>
元素,不再有任何结束标记,即使它存在于源HTML中。
有没有人知道什么可能触发这个bug,如果有可能避免它?它似乎是IE6中一些视觉显示问题的根源。
非常感谢您的任何建议。