谈谈浏览器兼容性问题
为何浏览器会存在兼容问题?
- 同一浏览器,版本越老,存在bug越多,相对于版本越新的浏览器,对新属性和标签、新特性支持越少。
- 不一样浏览器,核心技术不一样,标准不一样,实现方式也有差别,最终呈现出来在大众面前的效果也是会有差别。
处理兼容问题的思路:
1. 要不要作?
- 产品的角度(产品的受众、受众的浏览器比例、效果优先仍是基本功能优先)。
- 成本的角度 (有无必要作某件事)。
2. 作到什么程度?
3. 如何作?
- 根据兼容需求选择技术框架/库(如jquery 1.x.x)。
- 根据兼容需求选择兼容工具:html5shiv、Respond.js、CSS Reset、normalize.css、Modernizr.js、 postcss。
- 条件注释、CSS Hack、js 能力检测作一些修补。
渐进加强和优雅降级
- 渐进加强(progressive enhancement): 针对低版本浏览器进行构建页面,保证最基本的功能,而后再针对高级浏览器进行效果、交互等改进和追加功能达到更好的用户体验
- 优雅降级(graceful degradation): 一开始就构建完整的功能,而后再针对低版本浏览器进行兼容
欢迎关注本站公众号,获取更多信息