2014-04-26 314 views
0

我是一個新手到html和絕對到CSS。我從CSS,XHTML和JavaScript這本書的基礎網站創建書中學習,據我瞭解,這個問題在這個問題時已經很老了,但仍然希望我可以幫助很多人。這裏是我的標記:鏈接到CSS樣式表

<head> 
    <meta http-equiv="Content-Type" content="text/html; 
    charset=utf-8"/> 
    <title>Welcome to Papa Pepperoncini's</title> 
    <link href="C:\Users\Kevin Turner\Desktop\html\indexcss.css" rel="stylesheet"   type="text/css"/> 
</head> 

爲什麼我的樣式錶鏈接?我可以做這個鏈接嗎?我該怎麼辦?我相信它在Chrome中工作,但不在IE或Firefox中,也許你可以幫我理解這一點。

感謝, 凱文

+4

如果我是你,我會檢查文件名(indexcss.css是可疑的),並使用'相對路徑來鏈接文件 –

回答

1

不要使用C:\Users\Kevin Turner\Desktop\html\indexcss.css。這不是一個正確的網址。通常你會使用相對URL路徑。如果你的文件包括css在同一個目錄下,只需要寫下文件名即可。

這應該工作,如果該文件是在同一個目錄(文件夾)作爲你的HTML文件:

<head> 
    <meta http-equiv="Content-Type" content="text/html; 
    charset=utf-8"/> 
    <title>Welcome to Papa Pepperoncini's</title> 
    <link href="indexcss.css" rel="stylesheet" type="text/css"/> 
</head> 

來解釋relative URL path是什麼,想象你有一個文件夾結構類似這樣的:

--- html/ 
----- index.html 
----- css/ 
------- maincss.css 

,你想在你的index.htmlmaincss.css -file。那麼你會做 <link rel="stylesheet" type="text/css" href="css/maincss.css" />。因爲maincss.css位於css/目錄(文件夾)中,該目錄與您所在的目錄(html/)相關。


您可以使用file:///c:/Users/Kevin%20Turner/Desktop/html/indexcss.css Source。但是只有如果css文件位於您正在加載頁面的計算機上!


所以,如果CSS文件在同一目錄中的文件,包括它(可能index.html),你的代碼將是:

<head> 
    <meta http-equiv="Content-Type" content="text/html; 
    charset=utf-8"/> 
    <title>Welcome to Papa Pepperoncini's</title> 
    <link href="indexcss.css" rel="stylesheet" type="text/css"/> 
</head> 

的,另外,與file:/// URI和文件位於計算機加載HTML頁面,看起來像

<head> 
    <meta http-equiv="Content-Type" content="text/html; 
    charset=utf-8"/> 
    <title>Welcome to Papa Pepperoncini's</title> 
    <link href="file:///c:/Users/Kevin%20Turner/Desktop/html/indexcss.css" rel="stylesheet" type="text/css"/> 
</head> 
+0

在這裏我們走..讓'w3schools'開始! –

+0

我不應該?我會改進答案並多寫一些。 –

+0

Noo Nooo !!在'w3schools'上發佈'links'或'tutorials'的人一般都會受到羞辱,他們有自己的理由! –

0

標準CSS鏈接的聲明是這樣的:

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

您輸入的路徑可能有問題。將來,請考慮同時使用您正在編輯的HTML文檔。和桌面上的CSS文檔(或者只在同一個文件夾中)。這樣你就不必在完整路徑每次鍵入

0

之前(你僅僅使用一個簡單的記事本般的編輯器假設)作爲文件存儲在本地,請確保您使用file:/// URI方案:

<link rel="stylesheet" type="text/css" href="file:///C:\Users\Kevin Turner\Desktop\html\indexcss.css" /> 

仍然無法正常使用?

即使網頁本身在本地運行,一些(或大多數?)瀏覽器也會阻止訪問本地文件系統。這是防止網頁訪問和修改本地文件的安全措施。例如,Chrome會返回一個錯誤,如Not allowed to load local resource。要在Windows上解決此問題,您必須使用--allow-file-access-from-files標誌啓動Chrome。只需關閉Chrome,右鍵單擊並修改快捷方式,在快捷方式目標的末尾添加標誌。所以你的目標是這樣的:C:\path\to\chrome\chrome.exe --allow-file-access-from-files。這將允許Chrome訪問您的本地樣式表。

+0

試過了,似乎仍然沒有工作! – user3334393

+0

你還有這個問題嗎?我已經用可能的解決方案更新了我的答案。希望這可以幫助! – agrm

0

你不應該鏈接到本地​​文件,因爲在你的網站上這是行不通的。即使您的文件系統設置方式相同,HTTP服務器可能也無法提供。這也取決於你的HTML是如何在本地服務的(通過服務器或只是文件)。

無論如何,你應該鏈接到相對於html文件的CSS文件,或者最好是文檔根目錄(爲你的網站文件提供服務的文件夾)。如果你能找出你的文檔根目錄下,你可以使用:

<link href="/indexcss.css"> 

...假設你的文檔根目錄是在像

C:\Users\Kevin Turner\Desktop\html\ 

如果你的HTML文件(與<head>)是同一文件夾中indexcss.css,你可以只使用

<link href="indexcss.css"> 

確保你理解了文檔根目錄和相對/絕對路徑。