Internet Explorer 显示没有 CSS 的 XHTML 页面,但在 Firefox 和 Chrome 上显示 CSS

Internet Explorer Shows XHTML page without CSS, yet shows CSS on Firefox and Chrome

提问人:JoeScott1232 提问时间:3/12/2015 最后编辑:Mr ListerJoeScott1232 更新时间:3/22/2015 访问量:61

问:

原始 XHTML 只是在 Internet Explorer 中显示。根本没有显示 CSS。我似乎无法确定这个问题的问题。我通过 W3C 验证器运行了我的 XHTML 和 CSS,并使用 XHTML 1.0 Strict 和 CSS 2.1 检查了零错误。 我怀疑与我的 DOCTYPE 或我的 XHTML 有关。任何帮助都是值得赞赏的!<link>

XHTML(DOCTYPE 和 HEAD):

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

<!-- DOCTYPE is set to STRICT-->

<html xmlns="http://www.w3.org/1999/xhtml">

<head>

    <title>Flags</title>


    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />

    <link rel="stylesheet" href="Flags.css" type="text/css" />

</head>
</html>

页面:

IE浏览器:https://i.stack.imgur.com/caG1i.png

铬:https://i.stack.imgur.com/h95hF.png

注意:CSS 称为 Flags.css,与 XHTML 位于同一目录中。

CSS 互联网浏览器 XHTML

评论


答:

0赞 John 3/22/2015 #1

检查 Internet Explorer 中的开发人员工具。您是否为CSS使用了正确的mime?你设置的标题呢?

删除 meta 元素,它不仅无效,而且完全脱离了 XHTML 的上下文;你哑剧设置得对了吗?application/xhtml+xml

切勿对文件使用大写字母,除非它们旨在作为明确的仅供下载的资源;作为良好做法的一部分,所有网络资源都必须是小写的(对面向公众的URL使用破折号,切勿下划线;在维基百科上研究字符的正确上下文)。

最后,您缺少具有值的属性...mediascreen

<?php
if (isset($_SERVER['HTTP_ACCEPT']) && stristr($_SERVER['HTTP_ACCEPT'],'application/xhtml+xml'))
{
 header('Content-Type: application/xhtml+xml; charset=utf-8');
}
echo '<?xml version="1.0" encoding="UTF-8"?>'."\n";
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
<head>
<title>Flags</title>
<link href="flags.css" media="screen" rel="stylesheet" type="text/css" />
</head>
<body>

</body>
</html>

我的整个网站都是正确的 XHTML(目前是 1.1,在下一个版本版本中转换为 XHTML5),所以请随时从我的用户个人资料中查看它的链接。