2

我正在为一个 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

4 回答 4

1

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

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

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

于 2012-07-16T16:48:50.787 回答
0

尼娜,

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

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

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

并且您的 CSS 条件具有:

.custom a {
color:#000;
}

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

很抱歉这么说,但很可能是您的错字。

于 2012-07-16T16:45:19.193 回答
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>
于 2012-07-16T19:58:09.593 回答
0

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

于 2012-07-16T19:27:59.910 回答