浏览器兼容之旅第三站:IE常见Bug总结及修复方法—part1

2020-04-28 08:12:48易采站长站整理

我们一起来看浏览器下的效果对比
 
解决这个Bug也有俩种方法,我们一起来看看
修复方法一:解决这个bug最简单的方法,只需要在li元素中也加上一个浮动,所以你只需这样做就能解决了

复制代码
ul li {float: left;}

修复方法二:这个方法二也很简单,就是在li元素上应用“display:inline”

复制代码
ul li {display: inline;}

六、li空白间距
这个Bug也是针对于li的,在IE下会无端增中li与li之间的垂直距离,别的先不说,先来看下面的代码
HTML Markup

复制代码
<ul>
<li><a href=”#” >Link 1 </a></li>
<li><a href=”#” >Link 2 </a></li>
<li><a href=”#” >Link 3 </a></li>
</ul>

CSS Code

复制代码
ul {
margin:0;
padding:0;
list-style:none;
}
li a {
background: #95CFEF;
display: block;
}

同样我们来看浏览器下的对比图

虽然在IE6存在这样的烦人的事情,不过还是值得庆幸的,我们只需在写代码时稍加注意,就可以轻松的避免这样的Bug在你的页面中出现
方法一:
最简单的办法就是给<a>标签显式的定义一个宽度,用声明宽度的方法来触发IE浏览器的hasLayout,当然你也可以显式的定义一个高度,同样也可以解决,代码如下:

复制代码
li a {width: 200px;}

方法二:
方法二是在<a>标签上进行浮动,并且清除浮动

复制代码
li a {
display:block;
float: left;
clear: left;
}

方法三:
方法三也是比较简单,只在li标签上加上一个行内元素显示

复制代码
li {display: inline;}
li a {display:block;}

方法四:
这种方法是在每个列表li上设置一个底边实线 

复制代码
ul li { border-bottom: 1px solid #666; }

这种方法问题是解决了,但生成了一个新的问题,就是li底部有一条实现,如果实线颜色和页面背景色不一致将会给你带来视觉上的不同,所以最好底线颜色设置成你页面相同的背景色,当然你也可以尝试下面的方法来解决:

复制代码
ul li { border-bottom: 1px solid #ffffff; display:block; margin-bottom: -1px;}

七、IE6下无法设置元素的微高
这个Bug也很有意思,有时我们在Web页面中使用div元素来模拟line或者说制作白色间距,显显在元素中定义了好少的高度,比如说2px的height,可是在IE6下,他始终都不以2px的高度见世,如下面的一段代码