7

我试图让一个网站在 IE 中看起来更好,所以我决定使用条件注释。所以我用这个条件注释链接到样式表。

<!--[if IE]>
<link rel="stylesheet" type="text/css" href="IEstyle.css" />
<![end if]-->

这不起作用,它要么使用默认样式表,要么显示一个空白页面。所以然后我在某处读到评论是这样的。

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

所以我试过了,它和另一个完全一样,但-->显示在页面上。我对 html 还是有点陌生​​,任何帮助都会很好。

4

5 回答 5

4

这是评论的正确格式:

<!--[if IE ]>
Special instructions for IE here
<![endif]-->

这是一个非 IE 评论:

<!--[if !IE ]>
According to the conditional comment this is not IE
<![endif]-->

来源:http ://www.quirksmode.org/css/condcom.html

编辑:刚刚注意到他们的“不”示例是错误的。我已经纠正了。

于 2012-12-21T04:56:11.663 回答
2

你应该这样使用: 语法:

<!--[if IE 8]> = IE8
<!--[if lt IE 8]> = IE7 or below
<!--[if gte IE 8]> = greater than or equal to IE8


<!--[if IE 8]>
<style type="text/css">
    /* css for IE 8 */
</style>
<![endif]-->

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

参考链接 1

参考链接 2

于 2012-12-21T05:05:25.210 回答
1

同样,声明您想要拉出条件表的 IE 版本总是很好,例如,如果您想要 IE 9 和更低版本,则如下所述。

<!--[if lte IE 9]>
<link rel="stylesheet" type="text/css" href="IEstyle.css" />
<![endif]-->
于 2012-12-21T05:01:25.360 回答
0

IE10 中禁用了 HTML 条件注释。CSS 条件注释可用于在 IE10+ 中定位样式。
https://www.mediacurrent.com/blog/pro-tip-how-write-conditional-css-ie10-and-11/

@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {
// IE10+ CSS here
}
于 2021-02-24T06:18:53.950 回答
0

当面对这个问题时,我们选择了<script type="module">解决方案。更多细节在这里

我们还想访问我们使用其他 ES5 脚本中的 ES6 代码设置的全局变量,以确定我们是否想做一些不同的事情。显然,在这种情况下,导出不起作用,但您可以将变量分配给window.<something>然后像访问任何其他变量一样访问它们。

只有运行 ES6 和支持模块的浏览器才能运行type="module".

于 2021-06-07T17:40:00.183 回答