2010-10-23 55 views
0

您好
我使用下面的代码来显示请求的内容。它不是主页面,在这个时候只有我需要一个css.But这个CSS不工作,我不知道是什么原因。请帮助我。php echo声明中包含css的错误是什么?

echo ' 
<html> 
<head>  
    <title>My site</title> 

<link href="css/main.css"/> 
</head> 
<body> 
<div class="header"> 
     <div class="headercontent"> 


<div style="float: right; padding: 5px 15px 0pt 0pt;">Site</div> 

<br> 

     </div> 
    </div> 
    ' 

但是CSS在这里不起作用。

+0

你为什么用'echo'输出这个HTML代码? – 2010-10-23 09:54:16

+0

和你的问题最有可能是因为错误的路径。总是使用**绝对**。使它成为'/ css/main.css',从/ – 2010-10-23 09:55:55

回答

2

<link>需要,使浏览器知道它的CSS,像这样的属性:

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

除非你的服务器是已经"text/css" MIME类型传输它,浏览器有点困惑它应该如何处理这个文件,不知道它是一个样式表。

  • 快捷图标
  • 重要的是要记住<link>元素有很多其他目的,所以你需要告诉它(特别是与rel)这个人做了什么,因为它们也可以用于非常重要

  • iPhone/iPad的图标
  • 搜索规格(如OpenSearch的)
  • 规范链接
  • etc ...
+2

+1尼斯详细的答案。但是,如果您不发送“text/css”内容类型以及样式表,即使您指定了“type”属性,Firefox也会忽略它。 – 2010-10-23 10:05:23

+0

@Pekka - 绝对不错,我最后一次在头文件中没有正确的MIME类型时进行测试是偶然的,然后回到了Firefox 2,然后它就起作用了,那么这种行为何时改变? – 2010-10-23 10:11:22

+0

我不知道它是什么时候开始的,我想是在V2附近的某个地方。它仍然存在:http://stackoverflow.com/questions/2883695/firefox-doesnt-show-my-css/虽然我没有抱怨,但我认为它已经赢得了我三或四(承诺)啤酒:) – 2010-10-23 10:15:17

1

我可以看到的一件事是link缺少必要的rel="stylesheet"。如果不是这样,你需要详细说明“不工作”意味着什么。

0

什么CSS不起作用?你是否得到任何PHP错误?在这种情况下,PHP和CSS完全不相关。如果您的HTML正在输出,那么您的问题是您的CSS(可能缺少rel =“样式表”),而不是您的PHP。只有PHP的问题,我可以看到的是你的回音缺少结束分号