IE 条件注释可以内联工作吗?

发布于 2024-08-16 21:02:11 字数 540 浏览 11 评论 0原文

这应该有效吗?

<!--[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]-->" />

Should this work?

<!--[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]-->

Apparently nested comments don't work, so what about this?

<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]-->" />

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

被你宠の有点坏 2024-08-23 21:02:11

不,条件注释不是 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 黑客规则来保证单独的样式表,即使对于 IE8 也是如此?该浏览器通常表现良好,只要它不处于兼容模式。如果您只有一些规则,这个技巧可能有用。)

No, conditional comments are not macro-style processing above HTML; they can only go where normal HTML comments can. Comments can't go inside tags.

Therefore:

<!--[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]-->

(Do you have enough IE-hack rules that a separate stylesheet is warranted, even for IE8? That browser is generally pretty well behaved, as long as it's not in a compatibility mode. If you only have a few rules, this tip might be of use.)

淡看悲欢离合 2024-08-23 21:02:11

它不会工作,因为你正在嵌套条件注释。

非 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]-->

It will not work, because you're nesting conditional comments.

A non-IE browser will read it the way this sites syntax highlighting reads it.

To fix it, remove the closing -- from the nested comments to hide it from normal browsers.
It should then work fine.

For example:

<!--[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]-->
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文