<!--[if !(IE 7)]>
<link href="/assets/css/fixed.css" rel="stylesheet" />
<![endif]-->
这是行不通的。我正在使用 Chrome,它没有在我引用的样式表中获取任何内容。我正在尝试添加一个样式表,该样式表会加载到除 IE 7 之外的所有内容中,因为我正在尝试实现一些 IE 7 不太支持的 UI 更改。
有人可以指出我在这里做错了什么吗?
<!--[if !(IE 7)]>
<link href="/assets/css/fixed.css" rel="stylesheet" />
<![endif]-->
这是行不通的。我正在使用 Chrome,它没有在我引用的样式表中获取任何内容。我正在尝试添加一个样式表,该样式表会加载到除 IE 7 之外的所有内容中,因为我正在尝试实现一些 IE 7 不太支持的 UI 更改。
有人可以指出我在这里做错了什么吗?
这些仅适用于 IE。所以你的样式表应该适用于 IE8+ 和 IE6-,而不是 IE7。所有其他浏览器只是将其视为代码注释并忽略它,因此为什么您没有在 Chrome 中获取样式表。
我还应该补充一点,这不是 CSS,而是 HTML。
<!-- -->
这些(上图)是 html 注释。渲染引擎会忽略其中的任何内容。另一方面,IE 具有“特殊”逻辑来查找这些“IE '版本'”样式的注释。这些存在是因为旧版本的 IE 通常与世界其他地方不兼容!:)
我想补充的另一件事是,现在通常不考虑(抱歉,没有参考)编写浏览器检测的好习惯,而是编写功能检测。
try w/o the parenthesis. like:
<!--[if !IE 7]><!-->
<h1>You are NOT using IE7</h1>
<!--<![endif]-->
(tho' your code should be working as well)
使用这样的东西:
<!--[if IE 7 ]><link href="#" /><![endif]-->
<!--[if !IE7]>--><link href="#" /><!--<![endif]-->
您的示例,Chrome 仅查看评论,它不解析即条件 html。
尝试
<!--[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 样式。