<!--[if !(IE 7)]>
<link href="/assets/css/fixed.css" rel="stylesheet" />
<![endif]-->
这不起作用。我正在使用Chrome,它没有在我引用的样式表中找到任何内容。我正在尝试添加一个样式表,除了IE 7之外,所有内容都被加载,因为我正在尝试实现IE 7不支持的一些UI更改。
有人能指出我在这里做错了吗?
答案 0 :(得分:5)
这些仅适用于IE。所以你的样式表应该适用于IE8 +和IE6-,而不是IE7。所有其他浏览器只是将其视为代码注释而忽略它,因此您无法在Chrome中获取样式表。
我还应该补充一点,这不是CSS,而是HTML。
<!-- -->
这些(上面)是html评论。渲染引擎会忽略其中的任何内容。另一方面,IE有“特殊”逻辑来寻找这些“IE'版本'风格的评论。这些存在是因为IE的旧版本通常与世界其他地方不兼容! :)
我想补充的另一件事是,现在通常不会考虑(抱歉,没有参考)编写浏览器检测的优良做法,而是进行特征检测。
答案 1 :(得分:1)
尝试没有括号。像:
<!--[if !IE 7]><!-->
<h1>You are NOT using IE7</h1>
<!--<![endif]-->
(你的代码也应该正常工作)
答案 2 :(得分:1)
使用类似的东西:
<!--[if IE 7 ]><link href="#" /><![endif]-->
<!--[if !IE7]>--><link href="#" /><!--<![endif]-->
您的示例,Chrome仅查看评论,它不解析即条件html。
答案 3 :(得分:0)
尝试
<!--[if !IE7]>
<link href="css/style.css" rel="stylesheet" media="screen">
<![endif]-->
或者如果大于IE7,则使用默认样式表
<!--[if gte IE 7]>
<link href="css/style.css" rel="stylesheet" media="screen">
<![endif]-->
但我认为最好编写单独的IE7样式。