1

这应该工作吗?

<!--[if IE]>
<link rel="stylesheet" type="text/css" href="/minify/css?f=ie8.css<!--[if lte IE 7]>,ie7.css<![endif]--><!--[if lte IE 6]>,ie6.css<![endif]-->" />
<![endif]-->

显然嵌套的评论不起作用,那么这个呢?

<link rel="stylesheet" type="text/css" href="/minify/css?f=someotherfile.css<!--[if IE]>,ie8.css<![endif]--><!--[if lte IE 7]>,ie7.css<![endif]--><!--[if lte IE 6]>,ie6.css<![endif]-->" />
4

2 回答 2

3

不,条件注释不是 HTML 之上的宏样式处理;他们只能去普通 HTML 注释可以去的地方。评论不能进入标签内。

所以:

<!--[if lt IE 7]><link rel="stylesheet" type="text/css" href="/minify/css?f=ie8.css,ie7.css,ie6.css"><![endif]-->
<!--[if (gte IE 7)&(lt IE 8)]><link rel="stylesheet" type="text/css" href="/minify/css?f=ie8.css,ie7.css"><![endif]-->
<!--[if (gte IE 8)&(lt IE 9)]><link rel="stylesheet" type="text/css" href="/minify/css?f=ie8.css"><![endif]-->

(您是否有足够的 IE-hack 规则以保证单独的样式表,即使对于 IE8 也是如此?该浏览器通常表现得很好,只要它不处于兼容模式。如果您只有一些规则,这个提示可能是使用。)

于 2009-12-30T00:30:35.553 回答
0

它不起作用,因为您正在嵌套条件注释。

非 IE 浏览器将按照此站点语法突出显示的方式读取它。

要修复它,请从嵌套注释中删除关闭--以将其隐藏在普通浏览器中。
然后它应该可以正常工作。

例如:

<!--[if IE]>
<link rel="stylesheet" type="text/css" href="/minify/css?f=ie8.css<![if lte IE 7]>,ie7.css<![endif]><![if lte IE 6]>,ie6.css<![endif]>" />
<![endif]-->
于 2009-12-30T00:16:56.517 回答