昨天做列表的时候偶然发现HTML中li元素有点奇怪:
先上代码:
<ul style="border:1px solid #dddddd; width:300px">
<li style="border:1px solid #999999; list-style:none; padding:0">
<span style="border:1px solid #333333;font-size:9px;font-weight:bold;padding:0 12px; margin:0">Test</span>
</li>
</ul>
在firefox3.0 chorme ie6 ie7浏览器中效果大致如下:
(对于ie浏览器,span与li下边界不会重合)
无论如何改变li的高度,这个span(a元素也测试过,结果一样)与li上边沿都有4px的间隔;
不同的是,对于ie6,li高度不会小于18(这是ie6的老bug了,可以通过改变font-size改变其高度)。
而唯独ie8中效果是这样:
而只有当这个span元素的display属性变成block的时候,其他浏览器的这个4px间距才会消失。
那么这样ie8对li的处理到底是标准处理,还是非标准处理呢?不管怎么样,ie8中li又需要特殊处理了