ie下常见的css兼容问题

1.border-radius 边框圆角

IE8及以下浏览器不支持border-radius

webkit引擎支持-webkit-borderradius 私有属性

mozilla Gecko引擎支持-moz-border-radius 私有属性

presto 引擎和IE9+ 支持border-radius 标准属性

 

2.display:inline-block

IE6、IE7不识别inline-block但可以触发块元素。

其它主流浏览器均支持inline-block。

解决IE6、IE7兼容性的方法:

(1)、首先设置inline-block触发块元素,具有了layout的特性,然后设置display:inline使块元素呈现内联元素,此时layout的特性不会消失。

(2)、直接设置display:inline,使用zoom:1触发layout。 兼容所有浏览器的方法是: display:inline-block;*display:inline;*zoom:1;

(3)、a标签中的img图片有蓝色边框 只需要在的标签里写一个样式“border:none;”就可解决问题。 如:

 

3.IE6、IE7中margin-top无效

使用:width:100%;或者 height:auto !important;height:1%; 或者zoom:1; 都可以解决上面的问题。(3选1,不要全部写进去。) 

根据自己的具体情况来选择一种即可!

问题根源

  当然知道了解决办法还不够,我们必须知道什么情况会引发上面的BUG,zoom:1;这东西貌似经常使用。于是我去查询了一下关于zoom的一些信息。

发现他会触发IE的 haslayout ; haslayout来解决一些常见的IE BUG;(建议不太明白 haslayout 的同学点击连接去读一下。haslayout 不神秘。)

 

4.IE6、IE7中没有console对象

这算是IE中js的兼容性问题了

 

5.IE中的cursor的问题

cursor:url(../images/1.cur) auto;  在IE下无效

解决办法:在当前元素样式中加上   background-image:url(about:blank);

详见http://blog.163.com/m13864039250_1/blog/static/213865248201342711922919/

 

 6.IE6中,浮动下双边距问题

元素在设置float:left;和margin的值的情况下,浮动margin值会翻倍;

解决办法:只需要在后面加一个display:inline;

 

posted @ 2017-07-01 09:43  黄小黄的博客园  阅读(596)  评论(0编辑  收藏  举报