yym-yumeng123 / Interview

学习中的一些问题
3 stars 1 forks source link

浏览器兼容 #37

Open yym-yumeng123 opened 7 years ago

yym-yumeng123 commented 7 years ago

什么是CSS hack

谈一谈浏览器兼容的思路

yym-yumeng123 commented 7 years ago

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

yym-yumeng123 commented 7 years ago

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

Can I use

yym-yumeng123 commented 7 years ago

什么是 CSS hack

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

谈一谈浏览器兼容的思路

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

IE Hack 指的是利用IE浏览器漏洞来兼容IE低版本,有CSS属性前缀法、选择器前缀法以及IE条件注释法

js 能力检测 使用JS的语法检测浏览器支持的属性和方法。

html5shiv.js 兼容性工具。引入后可在IE6~8(不支持html5标签)上模拟html5标签

respond.js 兼容性工具。引入后在IE6~8(不支持css3)上模拟CSS3 Media Queries

css reset 兼容性工具,思想是重置所有浏览器默认样式,让一切归零。

normalize.css 兼容性工具。引入后可在默认的HTML元素样式上提供跨浏览器的高度一致性。相比于传统的CSS reset,Normalize.css是一种现代的、为HTML5准备的优质替代方案。

Modernizr Modernizr是一个 JavaScript 库,用于检测用户浏览器的 HTML5 与 CSS3 特性。该工具会为浏览器的html标签生成一批的css的class名称,标记当前浏览器支持和不支持的特性。我们利用html标签上的类名,就可以为不同版本的不同浏览器添加兼容样式。使用时可直接引入CDN链接即可。

postCSS 它可以被理解为一个平台,可以让一些插件在上面跑,它提供了一个解析器,可以将CSS解析成抽象语法树,通过PostCSS这个平台,我们能够开发一些插件,来处理CSS。热门插件如autoprefixer,它可以帮我们处理兼容问题,只需正常写CSS,autoprefixer可以帮我的自动生成兼容性代码

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

查询hack写法7