填充物。。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-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; }