浏览器兼容性一般会涉及两个问题:
- 1.是否兼容(如IE)
一般来说比较成熟的网站会统计各浏览器所占的百分比。如浏览器市场份额。 - 2.兼容到什么程度
一般来说有标准。如:
A级标准:chrome - 100%兼容,IE9+ - 90%~100%兼容。
B级标准:IE8 - 能使用,好看,像素偏差5px内。
C级标准:IE7 - 可以使用。
如何解决浏览器兼容问题?
- 1.CSS hack(prototype hack)
以inline-block为例:
div{
display: inline-block;
*display: inline;
*zoom: 1;/*IE下特有的可以触发IE的BFC*/
}
通过在属性前添加 ‘ * ’,可以让非IE浏览器忽略后面的代码,但是IE会忽略 ‘ * ’ ,正常的解析代码。
通过添加 ‘ * ’ 解决兼容性这个方法,在IE6,7有效,其他浏览器可以查找。
- 2.通过 CC(条件备注),解决浏览器兼容性。此方法在IE6,7,8有效。
<!--[if lte IE 8]>
<link rel="stylesheet" href="xxx.css">此处写IE中修改的样式
<![endif]-->
对非IE浏览器来说,上面的代码是注释;但在IE8及以下(lte)浏览器中,会识别。
- 3.通过Javascript
以hover为例:在IE6,7中,hover只支持a标签,但是不推荐通过修改html标签来实现。所以可以通过JS来监听事件,从而实现。
IE的兼容性问题,可以在遇到的时候通过查询、调试解决。
IE中没有开发者工具,IE8开始有控制台。所以有效的调试方法:
- border: 1px solid #ccc;
- outline: 1px solid #ccc;
- 在地址栏输入JS代码,如: javascript:alert();