好的一天,我们有一个已经存在的网站在php。如果我添加以下内容:
<!DOCTYPE HTML>
<meta charset="utf-8">
<!--[if lt IE 9]>
<script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
这会导致CSS被忽略,网站显示完全错误。什么好主意吗?或者我错过了什么?
<html>
<head>
<title>Company</title>
<link rel="SHORTCUT ICON" href="/favicon.ico"/>
<?
$ua_ok= $_SERVER['HTTP_USER_AGENT'];
if( eregi( "msie", $ua_ok ) )
{
echo "<LINK REL='StyleSheet' TYPE='text/css' HREF='/styles.php'></LINK>";
}
else
{
echo "<LINK REL='StyleSheet' TYPE='text/css' HREF='/stylesOth.php'></LINK>";
}
<script language="JavaScript">
</script>
<script language="javascript" src="/scripts/jscripts.php<?=FindClass()?>">
</script>
</head>
<!--<body onload="window.history.forward(1);"> -->
所有的浏览器都忽略CSS,不仅仅是IE。
页面输出没有CSS,页面看起来很普通,没有边框,没有颜色,没有覆盖。
给出错误:
SEC7113:由于mime类型不匹配,CSS被忽略styles.php
您在这里的代码中缺少关闭?>
标记:
...
?>
<script language="JavaScript">
...
在你的编辑显示SEC7113错误后,我给出了另一个答案:因为你的CSS源文件是php脚本,在styles.php
和stylesOth.php
的顶部强制CSS头
<? header("Content-type: text/css");?>
顺便说一句:你的代码有一些有效性错误,你应该看看Quentin建议的链接。
如果在文档中添加Doctype会阻止CSS工作,那么CSS可能存在错误,浏览器会在Quirks模式下执行错误恢复。
这些错误通常可以通过确保CSS和HTML都是有效的来修复。使用CSS验证器和标记验证器来查找这些错误,以便您可以修复它们