2010-10-23 56 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的問題,我可以看到的是你的迴音缺少結束分號