IE7元素ul嵌套ul边距bug

在web开发中,ul与li的组合经常会被使用到,配置好css可以实现很多种样式,例如导航菜单、新闻列表、图片列表等等,当然也不乏更为复杂的布局及展现形式。

飞尘最近在开发中就遇到了与一个ul相关的问题。布局大意就是两层ul的嵌套,外层ul及li用于竖排列表布局,基本上就是ul本身默认的布局形式;内层ul及li做横排浮动布局。从外观表现形式上来看,就是模仿了表格的布局形式。

下面说一下问题吧:在IE7浏览器下内层的ul始终无法充满外层ul,排除padding、margin等等之类属性的影响,内层换个div容器发现可以充满,于是就又遇到了IE7的一个存在已久的bug(此种经验最好还是不要累积了吧,愿历史的车轮早些将IE6 IE7 IE8收了吧,吾等阿弥陀佛)

牢骚归牢骚,问题总归得解决啊。原因找到了问题就不难解决,已经有无数的英雄前辈为我们指点迷津了:

1. 如果可以的话,那就给外层的li或者内层的ul加个宽度吧,100%也可以,但是要注意margin和padding哦。

2. 宽度不好加,就换个新鲜的,给IE吃点灵丹妙药,给外层的li或者内层的ul加个属性 zoom:1;

关于zoom属性,有温馨提示哦: zoom是IE浏览器的私有属性,添加zoom属性,可以触发IE的hasLayout属性,还可以清除浮动、清除margin的重叠等。

  • 本文作者:飞尘
  • 版权声明:本站所有文章除特别声明外,均可转载,转载请注明出处!