对于移动优先的方法,有一点需要注意,就是IE 8及以下的版本不支持媒体查询。这意味着这些浏览器只会呈现媒体查询以外的样式,即基准样式。目前,使用IE6 和IE7 的用户已经非常少了。因此,真正费脑筋去考虑的是IE8,它在全世界所占的份额不到9%,且这个数字还在下降(详情参见http://gs.statcounter.com)。
对于IE8(及更早的版本),有三种解决方法。
什么都不做。让网站显示基本的版本。
为它们单独创建一个样式表,让它们显示网站最宽的版本(不会形成响应式的网页)。一种做法是复制一份常规的样式表,将其命名为old-ie.css 之类的文件名。将媒体查询语句去掉,但保留其中的样式规则。在HTML中添加条件注释,从而让不同的浏览器都能找到正确的样式表。
如果希望页面有响应式的效果,就在页面中引入respond.min.js。Scott Jehl 创建了这段简短的代码,它让min-width 和maxwidth媒体查询对旧版IE 也有效。
<!--[if lt IE 9]> <script src="js/respond.min.js"></script> <![endif]-->
设置好以后,IE8 及以下版本会理解min-width 和max-width 媒体查询,并呈现相应的样式。这样做的话,就没有必要将IE 样式表分离出来了。这个script 元素外围的条件注释是可选的,不过如果包含的话,就只有IE8 及以下版本会加载respond.min.js,它让IE8 用户也能看到网站的完整布局。
可以访问https://github.com/scottjehl/Respond,下载Respond.js。下载到电脑后,打开该zip 文件,然后将respond.min.js 复制到网站中。