5个你不可不知的IE的bug及其解决方案

本文总结了IE6浏览器中最令人头疼的五个严重bug,并提供了详细的解决方案,包括使用IE滤镜解决PNG透明问题、修复遮罩层覆盖选择框、解决双倍外边距错误等。

E令人咬牙切齿的bug不胜枚举,其中IE6更是臭名昭著,令人发指。这里总结出IE下最为严重的5个bug,及其应对方案。

1、IE6下无法显示png格式的透明信息

这个bug是众多网页设计师的噩梦,虽然可以采用gif代替,但是gif的表现力实在有限,单是阴影就无法完美显示了,这无疑给网页的表现力下了一个档次。

解决方案:
  1. img{
  2.     filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(...);
  3. }

主要利用IE滤镜来解决png无法透明的问题。
接下来来看第二种解决方案:js
点此下载
上面是jquery用于解决这个bug的插件,强烈推荐!

2、IE6下遮罩层无法覆盖选择框

解决这个bug请看我之前写的一篇博文:http://www.36ria.cn/?p=395

3、IE6下双倍外边距问题

又是一个令人发指的bug,IE6下设置margin-left或margin-right,居然会自动加倍。

解决方案:
  1. div#content{  
  2.     float:left;  
  3.     width:200px;  
  4.     margin-left:10px;  
  5.  
  6.     /* fixthedoublemarginerror*
  7.     display:inline;  
  8. }

原理:关键是 display:inline; ,将其转换为内联元素。

4、:hover 只支持a,无法应用于其他元素

众所周知,在网页里面鼠标移动切换样式,是个应用非常广泛的功能,可是IE6下只支持链接,其他元素都无法使用:hover。

解决方案:JS
  1. /* jQuery Script */  
  2. $('#list li').hover(  
  3.  
  4.     function (){  
  5.         $(this).addClass('color');  
  6.     },  
  7.       
  8.     function() {  
  9.         $(this).removeClass('color');  
  10.     }  
  11. );
  1. /*CSSStyle*/  
  2. .color {  
  3.     background-color:#f00;    
  4. }
  1. <ulid="list"> 
  2.     <li>Item 1</li> 
  3.     <li>Item 2</li> 
  4.     <li>Item 3</li> 
  5. </ul>

原理:利用jquery的特殊的hover事件

5、IE下不显示默认的垂直滚动条

解决方案如下:

    1. html{  
    2.     overflow: auto;  
    3. }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值