浏览器兼容

什么是CSS Hack?

针对不同的浏览器写不同的CSS,使它能在不同的浏览器中得到想要的页面效果。
比如IE6能识别""(下划线)和""(星号);IE7能识别"",不能识别"";IE6~10都识别"\9",但firefox前述三个都不能识别。
表现形式:CSS属性前缀法;选择器前缀法;IE条件注释法。

谈一谈浏览器兼容的思路

首先是要不要做,一是产品的角度:受众是哪些人群,这些人群所用的浏览器是哪些,需要展现完整的效果还是首要展现功能。再是成本角度:时间成本和资金。
然后是做到什么程度,根据分析,让哪些浏览器支持哪些效果。
最后就是如何做,根据兼容需求选择技术框架/库;根据兼容需求选择兼容工具;用条件注释,CSS Hack,js能力检测做一些修补。

列举五种浏览器兼容的写法

条件注释: IE9支持,IE10及以上不支持

css属性前缀法:例:.box {color:red;_color:red;*color:red;color:red\9;}

选择器前缀法:例:*html .box { color: red;}

使用modernizr直接使用其在html中生成的class

如果浏览器不支持某标签,使用html5shiv.js,创建这个标签,使之可以被渲染。一般结合条件注释使用。

解释以下工具/名词是做什么的

  • 条件注释
    利用语法,很好的在不同的浏览器中得到想要的页面效果。

  • IE Hack
    针对不同的IE浏览器写不同的CSS,使它能在不同的浏览器中得到想要的页面效果。

  • js能力检测
    识别浏览器的能力,确定浏览器对特定属性是否支持以便做出解决方案。

  • html5shiv.js
    创建一个标签,并使浏览器可以渲染。

  • respond.js
    模拟CSS3的媒体查询,使浏览器可以渲染。

  • css reset
    清除浏览器的所有默认样式。

  • normalize.css
    替代css reset,保留一定的浏览器默认样式,修复了浏览器自身bug。

  • Modernizr
    通过这个工具可以知道浏览器对各种标签和css的支持情况。

  • postCSS
    使用 JS 插件来转换 CSS得到兼容性的代码的工具。

一般在哪个网站查询属性兼容性

http://caniuse.com/

你可能感兴趣的:(浏览器兼容)