以 IE 9 及以下为条件注释

Target IE 9 AND less with conditional comments

首先,如果这个问题已经得到解答,我很抱歉,我只花了 45 分钟试图找到并回答,但没有找到我确定的答案。我正在尝试在我的网站上使用 flexbox,并尝试将 IE 9 及更低版本作为后备替代方案。

我见过一些 hack 并且看到有人说要这样做:

<!--[if lt IE 10]>
<link rel="stylesheet" type="text/css" href="belowIE10.css" />
<![endif]-->

我看到很多人说这不起作用。我假设这是因为条件注释在 10 中被删除并且 Internet Explorer 不理解 lt IE 10 是什么。

我最好的猜测是检查是否小于或等于 9。虽然我有一个 mac,但如果没有像 browserstack 这样的东西就无法真正检查出来。

<!--[if lte IE 9]>

<![endif]-->

是否适用于 IE9 及以下版本?

IE10 不理解条件注释,但这仅仅意味着它将 lt IE 10 和里面的所有其他内容视为一个巨大的 HTML 注释,如语法突出显示所示。

所以<!--[if lt IE 10]><!--[if lte IE 9]>没有区别:IE10会忽略这两个条件,IE9会匹配这两个条件。您甚至可以使用 <!--[if IE]>,这不会有任何不同。