我写了一堆CSS,使我的网站首先针对移动设备进行优化,然后使用CSS媒体查询为桌面浏览器加载另一个样式表。我这样做是因为有很多移动浏览器不支持CSS媒体查询,而且桌面用户更有可能拥有支持此功能的现代浏览器。
我有以下CSS在所有现代浏览器中都可以正常工作(IE9、Chrome、Firefox 3.6+、Safari 4+5):
然后我意识到IE7和IE8不支持CSS媒体查询,因此上述方法无法使用。所以我添加了一个条件语句来加载它:
然而,经过使用IE Tester和Browsershots测试,我确认
然后我尝试将条件语句改为
最后,我删除了条件语句,代码变成了这样:
这最后一次尝试导致我的 desktop.css 在 IE7 和 IE8 中被加载。这证明了 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测试,我确认
desktop.css
在IE 7和8中未加载。它似乎完全忽略了这个样式表。然后我尝试将条件语句改为
<!-- [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 是没有问题的。看起来只是我的条件语句没有被触发。你有什么想法我做错了什么吗?
<!-- [if lt IE 9]>
--><!--[if lt IE 9]>
- Shaz