2013-10-04 72 views
1

這是我的HTMLHTML 5沒有申請我的CSS

<!doctype html> 

<html lang="en" id="home"> 
<head> 
    <meta charset="utf-8"> 
    <title>Me</title>  
    <link rel="stylesheet" href="css/reset.css" /> 
    <link rel="stylesheet" href="css/style.css" /> 
</head> 
<body style> 
    <div class="centered"> 
     <img alt="Me" id="Me" src="cache/me.jpg" /> 
    </div> 
</body> 
</html> 

這是style.css中

.centered { 
    position: fixed; 
    top: 50%; 
    left: 50%; 
    margin-top: -300px; 
    margin-left: -200px; 
} 

#Me { 
    display: block; 
    margin: 0 auto; 
    width: 400px; 
    height: 600px; 
} 

如果我把style.css文件的內容到裏面的風格標籤HTML會應用樣式表就好。如果我刪除<!doctype html>,那麼它會呈現頁面就好了。我使用它通過的W3C驗證器驗證了HTML。

編輯: 我已經複製從網站上的所有文件到本地驅動器和Chrome中打開index.html的。它渲染正常,但它仍然不能解釋爲什麼刪除<!doctype html>也修復它。

編輯: 使用Firefox的開發者工具,有一個錯誤:從這個URL資源不是文本:http://foo.foo/css/reset.css。這必須是web服務器配置問題,因爲根據這個link「W3C規範提到CSS文件應該在」嚴格模式「下以」text/css「MIME類型」「提供服務將嚴格遵循該規範並期望要使用正確的MIME類型「」來提供CSS文件。

編輯: 運行fiddler來調試HTTP連接。 CSS文件正在以「application/octet-stream」的形式發送。這是HTTP標頭:

HTTP/1.1 200 OK 
Content-Type: application/octet-stream 
ETag: "3420655293" 
Last-Modified: Fri, 04 Oct 2013 13:26:57 GMT 
Content-Length: 765 
Date: Fri, 04 Oct 2013 13:54:49 GMT 
Server: lighttpd/1.4.33 

編輯: 我發現了什麼問題。它是錯誤配置的Web服務器; CSS的MIME類型未聲明爲默認爲text/plain而不是text/css

+0

...然後你有錯誤的樣式表文件的路徑。 –

+0

嘗試檢查你的css的相對路徑 – coder

+0

什麼不工作?有些CSS項目不適用或全部是? – scunliffe

回答

3

機會是你的相對路徑是錯誤的。如果您使用的是Chrome或Safari,請右鍵單擊頁面上的任意位置,然後選擇檢查。在源文件中找到加載CSS文件的行並單擊它以查看CSS文件是否正確加載。

或者,選擇開發人員工具中的網絡選項卡並刷新頁面。查找類型爲text/css的任何HTTP請求,該請求返回404狀態碼。

+0

在Chrome中嘗試過它,它在那裏。它是開發人員工具中列出的資源之一。 – acermate433s

+0

對不起,我不想陳述明顯的,但你點擊源鏈接,看看CSS是否加載? – Mohamad

+0

我試過了。我不介意你們中的任何一位說明這一點,因爲我認爲我在做這件事時一定會有一些非常小的錯誤。 – acermate433s