我写了一堆CSS,使我的网站首先成为Mobile,然后我使用CSS Media Queries为桌面浏览器加载另一个样式表。我这样做是因为有很多移动浏览器不理解CSS媒体查询,桌面用户更有可能拥有支持此功能的现代浏览器。
我有以下CSS适用于所有现代浏览器(IE9,Chrome,Firefox 3.6 +,Safari 4 + 5):
然后我意识到IE7和IE8不支持CSS媒体查询,所以上面的内容不起作用。所以我添加了一个条件语句来加载它:
<link rel="Stylesheet" type="text/css" href="/css/mobile.css" media="all"/>
<!-- [if lt IE 9]>
<link rel="Stylesheet" type="text/css" href="/css/desktop.css" media="all" />
<! [endif] -->
<link rel="Stylesheet" type="text/css" href="/css/desktop.css" media="only screen and (min-width: 640px)" />
然而,使用IE Tester和Browsershots,我已经确认在IE 7和8中没有加载desktop.css
。它似乎完全忽略了样式表。
然后我尝试将条件语句更改为<!-- [if IE 8]>
,但这没有任何效果。
最后,我完全删除了条件语句,产生了以下代码:
<link rel="Stylesheet" type="text/css" href="/css/mobile.css" media="all"/>
<link rel="Stylesheet" type="text/css" href="/css/desktop.css" media="all" />
最后一次尝试导致我的desktop.css被加载到IE7和IE8中。所以这证明了CSS是可以的。看起来我的条件语句没有被触发。
任何想法我做错了什么?