IE7忽略条件语句

时间:2012-07-16 16:36:52

标签: html css internet-explorer-7 conditional-statements

我正在最终确定公司网站的代码,其中90%的用户正在浏览IE。除了IE7之外,我的条件语句适用于所有浏览器。我不确定为什么IE会忽略我为IE浏览器创建的单独样式表。请查看下面的代码。

这里的代码也是:

<meta http-equiv="X-UA-Compatible" content="IE=9; IE=8; IE=7; IE=EDGE" charset="utf-8" />

...允许我删除IE 7-9中的兼容模式。

<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="X-UA-Compatible" content="IE=9; IE=8; IE=EDGE" charset="utf-8" />
<tile>Company Site</title>
<link rel="stylesheet" href="css/style.css" media="screen" />
<!--[if IE]><link rel="stylesheet" href="css/ie.css"><![endif]-->
<!--[if IE 8]><link rel="stylesheet" href="css/ie8.css"><![endif]-->
<!--[if IE 7]><link rel="stylesheet" href="css/ie7.css"><![endif]-->
</head>

然后我的其余代码似乎工作并验证没有问题。似乎IE7被忽略了。

提前感谢您的帮助!

4 个答案:

答案 0 :(得分:1)

您的X-UA-Compatible标头是多余的。它的内容应该只是IE=edge,或多或少。

对于样式表,您可以通过添加可见内容来测试是否正在处理评论,例如<script>alert("Hello!");</script>(因为您在<head>中,您不能只是放置纯文本在那里)。

如果您执行此操作并显示警报,那么您的CSS文件可能存在问题。要么它是404,要么你有特殊性问题(正如CrazyVipa建议的那样)。如果上述测试不确定,我们将需要更多信息进一步诊断。

答案 1 :(得分:0)

尼娜,

您应该检查日志以查看它是否在本地下载。可能看起来你的CSS没有被应用,但CSS规则可能被覆盖了。

例如,如果标准CSS文件具有:

#content-custom a {
color:#fff;
}

你的CSS条件有:

.custom a {
color:#000;
}

您的字体将显示为#fff。我没有听到或看到任何与条件陈述有关的实际错误。我注意到的唯一问题是人为错误。 (错误类型,权限,本地环境等)我的假设是CSS文件被覆盖。 CSS禁用?链接无效?

很抱歉这样说,但很有可能,这是你的错字。

答案 2 :(得分:0)

我不确定为什么它没有调用该文件,但可能是文件放错位置。您现在可以取出IE的行,只测试IE 7文件。

答案 3 :(得分:0)

看起来我必须使用样式表的绝对链接而不是相对链接。所以使用类似的东西:

<link rel="stylesheet" href="http://mywebsite.com/css/style.css">

而不是

<link rel="stylesheet" href="css/style.css">

感谢您的所有帮助,但它始终是IE的小事。

为了记录,我还确保通过你们的一些很棒的提示改变了我的标题。这是现在的最终标题示例:

<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="X-UA-Compatible" content="IE=EDGE" charset="utf-8" />
<title>My Site</title>
<link rel="stylesheet" href="css/style.css" media="screen">
<!--[if gte IE 8]><link rel="stylesheet" href="css/ie.css"><![endif]-->
<!--[if IE 7]><link rel="stylesheet" href="http://mysite.com/css/ie7.css"><![endif]-->
</head>