Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/38.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Html “如果不是IE7”的CSS条件语句不起作用_Html_Css_Internet Explorer - Fatal编程技术网

Html “如果不是IE7”的CSS条件语句不起作用

Html “如果不是IE7”的CSS条件语句不起作用,html,css,internet-explorer,Html,Css,Internet Explorer,这不管用。我使用的是Chrome,它在我引用的样式表中没有任何内容。我试图添加一个样式表,除了IE7之外,它可以加载到所有东西中,因为我试图实现一些IE7不太支持的UI更改 有人能告诉我我做错了什么吗?这些只适用于IE。所以你的样式表应该适用于IE8+和IE6-,而不是IE7。所有其他浏览器只是将其视为代码注释并忽略它,因此您无法在Chrome中获得样式表 我还要补充一点,这不是CSS,而是HTML <!--[if !(IE 7)]> <link href="/asse

这不管用。我使用的是Chrome,它在我引用的样式表中没有任何内容。我试图添加一个样式表,除了IE7之外,它可以加载到所有东西中,因为我试图实现一些IE7不太支持的UI更改


有人能告诉我我做错了什么吗?

这些只适用于IE。所以你的样式表应该适用于IE8+和IE6-,而不是IE7。所有其他浏览器只是将其视为代码注释并忽略它,因此您无法在Chrome中获得样式表

我还要补充一点,这不是CSS,而是HTML

<!--[if !(IE 7)]>
    <link href="/assets/css/fixed.css" rel="stylesheet" />
<![endif]-->
以上是html注释。渲染引擎将忽略其中的任何内容。另一方面,IE有特殊的逻辑来寻找这些IE“版本”风格的评论。这些存在是因为旧版本的IE通常与世界其他地方不兼容

我还想补充的一点是,现在人们并不普遍认为很抱歉,没有编写浏览器检测的参考良好实践,而是编写功能检测


有一些库可以帮助您编写跨浏览器兼容的Css和Js。例如:分别为和。

尝试不带括号。比如:

<!-- --> 

虽然您的代码应该也能正常工作

但请使用以下内容:

<!--[if !IE 7]><!-->
<h1>You are NOT using IE7</h1>
<!--<![endif]-->
例如,Chrome只查看注释,它不解析ie条件html

试试看

<!--[if IE 7 ]><link href="#" /><![endif]-->
<!--[if !IE7]>--><link href="#" /><!--<![endif]-->
或者如果大于IE7,则使用默认样式表

<!--[if !IE7]>
  <link href="css/style.css" rel="stylesheet" media="screen">
<![endif]-->

但我认为最好是编写独立的IE7样式。

他可能也会在其中寻找,所以底线是我试图做的是不可能的,因为评论只在IE中获得。我只使用条件评论来针对特定版本的IE,没有意识到其他浏览器没有获得它们…@Scott。是的,只有我懂。有一些库可以帮助您编写跨浏览器兼容的Css和Js。简单地说,IE是唯一可以阅读这些评论的浏览器。Chrome、firefox、safari等。只需将它们视为HTML注释,并忽略它们。有条件的注释仅限于Internet Explorer的垃圾软件。我不能称之为功能,所以crapzore似乎是一个合理的替代品。明白了,我想做的是不可能的。我想出了另一个解决方案,谢谢。@DwB+1给crapzore。我想知道这是如何发展的……这对我正在尝试的工作不起作用,这就是为除IE 7 Chrome、Firefox、Safari、IE8+之外的所有浏览器加载样式表
<!--[if gte IE 7]>
  <link href="css/style.css" rel="stylesheet" media="screen">
<![endif]-->