Polyfills

填充物。。github上比较全的列表

IE总是有填不完的坑,在此总结一下,可能暂时都是一知半解,错了我会慢慢改的。

首先html5标签需要填充一些class,可以用html5.js处理,或者html5shiv

并且在css中将这些元素设为块(compass的reset已包括):

<!--[if lt IE 9]>

    <script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>

<![endif]-->

<style type="text/css">

    article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section { 

    display: block;

}

</style>

对media query的支持有好几种polyfill,一种是css3-mediaqueries.js

<!--[if lt IE 9]>

    <script src="http://css3-mediaqueries-js.googlecode.com/svn/trunk/css3-mediaqueries.js"></script>

<![endif]-->

或者不用IE的hack标签,让modernizer来测试浏览器是否支持media query,不支持的话用respond.js

<script>Modernizr.mq('(min-width:0)') || document.write("<script

src='js/respond.min.js'>\x3C/script>")</script>

类似的,modernizr对canvas的判断如下:

if (Modernizr.canvas) {

  // 可以使用 canvas

} else {

  // 浏览器没有原生的 canvas 支持,做一定的降级处理,或是加载 polyfills

}

另外,曾经为了解决谷歌浏览器字号最小12像素而写的那段css,对谷歌已经无效,但是对ios设备上过大的字体有效:

html {

        -webkit-text-size-adjust: none;

    }

 

你可能感兴趣的:(ls)