浏览器兼容指的是:由于各浏览器使用了不同的内核,使得网页在各种浏览器上的显示效果不一致,做好浏览器兼容,才能够让网站在不同浏览器上正常显示
CSS方面:
1、不同浏览器的标签默认的内外边距不同,所以,可以全部初始化为0
*{ margin: 0; padding: 0; }
2、图片<img>和<a>标签在IE9中会有边框,解决办法:
img,a{ border: none; }
3、margin边距重叠,取最大值,舍弃小值
解决办法:尽可能使用padding;或者添加父元素,并设置overflow:hidden;
4、IE6及更低版本中,部分块级元素有默认高度,解决办法:
.box{ font-size: 0; }
5、<a>标签蓝色边框,解决办法:
a{ outline: none; }
6、IE6不支持min-height属性,解决办法:
.box{ /* _height: 200px;在IE6显示正常,但是不符合W3C标准 */ min-height: 200px; _height: 200px; overflow: visible; }
7、IE9以下浏览器不能使用opacity,解决办法:
Firefox/Chrome/Safari/Opera浏览器使用opacity,IE浏览器使用filter
8、IE6、7不支持display:inline-block,解决办法:
.box{ display: inline-block; *display:inline; }
9、cursor兼容问题,解决办法:
.box{ cursor: pointer; }
10、IE6、7中图片<img>标签与文字放一起时,line-height失效问题,解决办法:
<img>和文字都设置float
11、a标签伪元素状态添加顺序不同,会导致链接显示效果不同,浏览器解释CSS时遵循“就近原则”
a:link{ color: red; /* 还未访问的状态 */ } a:visited{ color: green; /* 已访问的状态 */ } a:hover{ color: grey; /* 鼠标在连接上的状态 */ } a:active{ color: blue; /* 激活链接时的状态 */ }
12、IE6、7图片下面有空隙的问题,解决办法:
img{ display: block; }
13、IE中<li>标签在指定高度后,出现排版错误,解决办法:
设置line-height值
14、<ul>或<li>设置float后,显示在<div>外,解决办法:
<div> <ul> <li style="float:left;"></li> <li style="float:left;"></li> </ul> <div style="clear: both;"></div> </div>
15、<ul>设置float之后,在IE中margin值变大,解决办法:
ul{ display: inline; } li{ list-style-position: outside; }
16、在Chrome中,字体不能小于10px,解决办法:
.box{ font-size: 12px; transform: scale(0.5); }
标签:box,解决办法,浏览器,IE6,------,height,display,CSS From: https://www.cnblogs.com/zhaoyingzhen/p/16655759.html