浏览器兼容

2018-08-18  本文已影响0人  饥人谷张雪莲
1、什么是 CSS hack

由于不同厂商的浏览器,如Internet Explorer,Safari,Mozilla firefox,chrome等;或者是同一厂商不同版本,如IE6和IE7,对CSS的解析认识不完全一致,因此会导致生成的页面不完全一样,得不到我们所需要的页面效果;这个时候我们就需要去针对不同的浏览器写不同的CSS,让它能在不同的浏览器里也能得到我们想要的页面效果;

2、谈一谈浏览器兼容的思路

①要不要做 a:产品的角度(产品的受众,受众的浏览器比例,效果优先还是基本功能优先);b:成本的角度(有没有必要做,为了做一个简单的效果而花费巨大的成本是否必要)。
②做到什么程度(让那些浏览器支持哪些效果)。
③如何做a:根据兼容要求选择技术框架、库(Jquery); b:根据兼容需求选择兼容工具(html5shiv.js、respond.js、css.reset、normalize.css、modernizr);c:postCSS;d:条件注释、CSShack、js能力检测做一些修补。

3、列举5种以上浏览器兼容的写法

IE条件注释法(到IE9都可以正常使用,但是在IE10或以上无法使用,IE10不在支持条件注释)

1
2

常见的hack写法:


3
常见的属性兼容情况:
4

4、以下工具/名词是做什么的
条件注释:是于html源码中被IE有条件解释的词句,条件注释可用来被用来向IE 提供及隐藏代码。
IE Hack:处理各个浏览器兼容问题;
js能力检测:浏览器的能力检测目标不是检测特定的浏览器,而是检测浏览器的能力。这样,只需要检测浏览器是否支持特定的能力,就可以给出特定的解决方案。这一部分检测是解决浏览器兼容问题的主要检测;
html5shiv.js:对不兼容html5标签的浏览器,创建并模拟html5标签的效果并使相应css生效;
respond.js:写页面做响应式,则用CSS的媒体查询,IE6、7、8没有媒体查询,则此文件则可以模拟媒体查询;
css reset:去除一些默认样式,根据自己的需求,裁剪之后再进行使用;
normalize.css:①保护有用的浏览器默认样式而不是完全否认它们;
②一般化的样式:为大部分html元素提供修复浏览器自身的bug并且保证各浏览器的一致性;
③优化CSS的可用性:用一些小技巧;
④解释代码:用注释和详细的文档;
Modernizr:测试当前浏览器的CSS3和HTML5功能,并通过两种方式使结果可用:作为全局Modernizr对象上以及元素上的类。可以帮助我们更加简单的解决浏览器的兼容性问题;
postCSS:将标准的CSS转化为带有前缀的各个浏览器都能识别的属性;

5、一般在哪个网站查询属性兼容性?
https://caniuse.com/#feat=webgl

上一篇 下一篇

猜你喜欢

热点阅读