2011-01-11 207 views
3

我正在一个网站(www.eticket24.at),并且必须为页眉和页脚创建一个外部CSS。Internet Explorer的外部CSS问题

如果我查看标题,例如,单独在Firefox中转到www.eticket24.at/header.php,它看起来很好 - CSS就在那里,它的样式应该是它的样子。但是,在IE8中,如果我这样做,风格已经完全消失了。它在索引页面上工作,但不是当我单独查看它时。

我正在使用link rel="stylesheet" href="http://www.eticket24.at/et24_header.css将CSS包含在header.php页面的顶部。我的footer.php页面也一样。

那么,Internet Explorer的问题是什么这个时间?它为什么不行为?

谢谢。

+0

您将样式表包含在`body`标签中?! – ifaour 2011-01-11 14:28:24

+0

我将样式表包含在body标签中,因为我需要文件独立另一家公司可以安全地链接到单独的header.php文件,用css样式完成。 – user571373 2011-01-11 23:14:31

+0

header.php包含在正确的网站上正常工作,因为它被插入到一个有效的html文档中header.php本身不是一个有效的html文档,但Firefox自动纠正这一点,并撕毁作为一个,IE浏览器没有。如果未来的客户想要使用它,他们只需要将头文件包含在有效的html文档中。 – Refugee 2011-01-11 23:32:47

回答

1

这是因为当你自己浏览标题时,Firefox将更正不完整的标记,并使页面成为有效的html文档和<html><body>...</body></html>标记。

IE不会这样做,所以样式将不会被应用,因为它不知道在无效页面上这样做。

这也是为什么该页面在实况网站上看起来正确。

1

您的链接位于页面正文内部...尝试将其放入<head />部分。还要将type="text/css"添加到<rel />标记。

1

header.php不会返回一个完整的HTML页面,所以也许Internet Explorer就是这样做的。即使Firefox呈现它,我也不认为你可能会期望所有浏览器都这样做。

如上所述,您可能希望将<link>标签移动到<head>标签,因为它们不适用于<body>

0

我在.php文件里面包含了所有的css文件,而不是链接它们,并且改变了一些div名称(从to到,因为之前div的css样式被其他公司的css样式覆盖,所以我不得不创建我自己独特的div名称,而不是标准的HTML5名称