1、在IE7及以下版本中,UL中不能出现非LI标签,如果出现非LI标签那么,浏览器会自动将非LI标签用靠近它的LI标签包裹住,成为Li中的内容。
昨天做了一个页面,IE7和IE6没有进行测试,结果业务报问题,给出了问题页面截图,一看就知道,应该是IE问题,用IE8访问没有问题,但IE7和IE6就有问题,仔细查看代码,发现没有问题,然后使用IE开发工具查看浏览器解析后的HTML结构,发现了问题,问题HTML结构如下:
原HTML:
<ul class="demo">
<li>这是一个实例</li>
<li>这是一个实例</li>
<li>这是一个实例</li>
<li>这是一个实例</li>
<li>这是一个实例</li>
<div class="">这是UL中存入的一个DIV</div>
</ul>
IE7解析后:
IE8解析后:
通过IE7与IE8的对比,可以看出正常效果应该如IE8,但IE7却出现了不一样的效果,然后对比二者解析后的HTML代码可以看到,IE7下DIV嵌到了Li里面,而IE8则按开发时的代码将DIV显示在li的外面。本来还以为是我在操作过程中少写li关闭标签,但仔细对比代码发现没有问题,从效果和解析出来的HTML来看,应该是IE7不支持ul中直接嵌套非LI标签。IE6下测试也如IE7,所以IE6也照样是不支持。
通过网络查找相关信息也可以到得相同的结论,可以更加证实了这是IE下的解析问题!