袁进老师整理:
浏览器兼容性
问题产生原因
- 市场竞争
- 标准版本的变化
厂商前缀
> 比如:box-sizing, 谷歌旧版本浏览器中使用-webkit-box-sizing:border-box
- 市场竞争,标准没有发布
- 标准仍在讨论中(草案),浏览器厂商希望先支持
IE: -ms-
Chrome,safari: -webkit-
opera: -o-
firefox: -moz-
> 浏览器在处理样式或元素时,使用如下的方式:
> 当遇到无法识别的代码时,直接略过。
1. 谷歌浏览器的滚动条样式
实际上,在开发中使用自定义的滚动条,往往是使用div+css+JS实现的
2. 多个背景图中选一个作为背景
css hack
根据不同的浏览器(主要针对IE),设置不同的样式和元素
1. 样式
IE中,CSS的特殊符号
- *属性,兼容IE5、IE6、IE7
- _属性,兼容IE5~IE6
- 属性值\9,兼容IE5~IE11
- 属性值\0,兼容IE8~IE11
- 属性值\9\0,兼容IE9~IE10
> IE5、6、7的外边距bug,浮动元素的左外边距翻倍
2. 条件判断
<!--[if IE]>
<p>
这是IE浏览器
</p>
<![endif]-->
<!--[if !(IE)]><-->
<p>
这是非IE浏览器
</p>
<!--<![endif]-->