-2

美好的一天,我们有一个已经存在的 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 类型不匹配 style.php,CSS 被忽略

4

3 回答 3

1

?>在此处的代码中缺少结束标记:

...
?>
<script language="JavaScript">
...
于 2013-04-16T09:53:53.787 回答
0

如果向文档添加 Doctype 会使 CSS 停止工作,那么 CSS 中可能存在错误,浏览器将从 Quirks 模式中执行错误恢复。

这些错误通常可以通过确保 CSS 和 HTML 都有效来修复。

使用CSS 验证器标记验证器来查找这些错误,以便您修复它们。

于 2013-04-16T09:54:17.197 回答
0

在您的编辑揭示了 SEC7113 错误后,我只给出了另一个答案:由于您的 CSS 源文件是 php 脚本,因此将 CSS 标头强制位于styles.phpstylesOth.php

<? header("Content-type: text/css");?>

顺便说一句:您的代码存在一些有效性错误,您应该真正查看 Quentin 建议的链接。

于 2013-04-16T10:10:15.490 回答