今天剛開始學習CSS,就發現html用@import url引用CSS無效。找了一會發現測試的html文件在桌面上。而引用的CSS放在E盤E:\notepadworkplace\css。於是把CSS文件放在桌面解決了問題。
另外查詢了和HTML中涉及文件的相對路徑和絕對路徑的概念
1.相對路徑,就是放在同一目錄下的子文件的相對位置。
如果兩個文件在同一目錄下可以直接引用,比如:c:\test1.html 和 c:\test.css 。html可以直接引用css。
如果兩個文件不在同一目錄,但是有相同的上級目錄,也可以使用相對路徑 。比如c:\test1.html 和c;\img\test.jpg有相同的上級目錄c:\。所以html可以使用圖片引用語句
<body background="../img/bg.jpg">進行相對路徑引用(其中../代表上一級目錄,多個上一級目錄可以使用多次../)
2.絕對路徑
絕對路徑就是在硬盤上的真實路徑。比如c;\img\test.jpg。因為相對路徑比較靈活簡便,而且絕對路徑可能存在找不到文件的問題。所以網頁中一般不使用絕對路徑
ps:相對路徑使用“/”字符作為目錄的分隔字符,而絕對路徑可以使用“\”或“/”字符作為目錄的分隔字符
參考文章:
http://www.cnblogs.com/heyonggang/archive/2013/03/01/2938984.html
作者:夏雪冬日
在HTML里只要涉及文件的地方(如超級鏈接、圖片等)就會涉及絕對路徑與相對路徑的概念。
1.絕對路徑
絕對路徑是指文件在硬盤上真正存在的路徑。例如“bg.jpg”這個圖片是存放在硬盤的“E:\book\網頁布局代碼\第2章”目錄下,那么 “bg.jpg”這個圖片的絕對路徑就是“E:\book\網頁布\代碼\第2章\bg.jpg"。那么如果要使用絕對路徑指定網頁的背景圖片就應該使用 以下語句:
<body backround="E:\book\網頁布局\代碼\第2章\bg.jpg" >
2.使用絕對路徑的缺點
事實上,在網頁編程時,很少會使用絕對路徑,如果使用“E:\book\網頁布\代碼\第2章\bg.jpg”來指定背景圖片的位置,在自己的計算機上 瀏覽可能會一切正常,但是上傳到Web服務器上瀏覽就很有可能不會顯示圖片了。因為上傳到Web服務器上時,可能整個網站並沒有放在Web服務器的E盤, 有可能是D盤或H盤。即使放在Web服務器的E盤里,Web服務器的E盤里也不一定會存在“E:\book\網頁布局\代碼\第2章”這個目錄,因此在瀏 覽網頁時是不會顯示圖片的。
3.相對路徑
為了避免這種隋況發生,通常在網頁里指定文件時,都會選擇使用相對路徑。所謂相對路徑,就是相對於自己的目標文件位置。例如上面的例子,“s1.htm” 文件里引用了“bg.jpg”圖片,由於“bg.jpg”圖片相對於“s1.htm”來說,是在同一個目錄的,那么要在“s1.htm”文件里使用以下代 碼后,只要這兩個文件的相對位置沒有變(也就是說還是在同一個目錄內),那么無論上傳到Web服務器的哪個位置,在瀏覽器里都能正確地顯示圖片。
<body background="bg.jpg">
再 舉一個例子,假設“s1.htm”文件所在目錄為“E:\book\網頁布局\代碼\第2章”,而“bg.jpg”圖片所在目錄為“E:\book\網頁 布局\代碼\第2章\img”,那么“bg.jpg”圖片相對於“s1.htm”文件來說,是在其所在目錄的“img”子目錄里,則引用圖片的語句應該 為:
<body background="img/bg.jpg">
注意:相對路徑使用“/”字符作為目錄的分隔字符,而絕對路徑可以使用“\”或“/”字符作為目錄的分隔字符。由於“img”目錄是“第2章”目錄下的子目錄,因此在“img”前不用再加上“/”字符。
在 相對路徑里常使用“../”來表示上一級目錄。如果有多個上一級目錄,可以使用多個“../”,例如“http://www.cnblogs.com/”代表上上級目錄。假設 “s1.htm”文件所在目錄為“E:\book\網頁布局\代碼\第2章”,而“bg.jpg”圖片所在目錄為“E:\book\網頁布局\代碼”,那 么“bg.jpg”圖片相對於“s1.htm”文件來說,是在其所在目錄的上級目錄里,則引用圖片的語句應該為:
<body background="../bg.jpg">
再舉一個例子,假設“s1.htm”文件所在目錄為“E:\book\網頁布局\代碼\第2章”,而“bg.jpg”圖片所在目錄為“E:\book\網 頁布局\代碼\img”,那么“bg.jpg”圖片相對於“s1.htm”文件來說,是在其所在目錄的上級目錄里的“img”子目錄里,則引用圖片的語句 應該為:
<body background="../img/bg.jpg">
4.相對虛擬目錄
有關相對路徑還有一個比較特殊的表示:“相對虛擬目錄”。請看下面的例子:
<body background="/img/bg.jpg">
在這個例子里,background屬性的值為“/img/bg.jpg”,注意在“img”前有一個“/”字符。這個“/”代表的是虛擬目錄的根目錄. 假設把“E:\book\網頁布局\代碼”設為虛擬目錄,那么“/img/bg.jpg”的真實路徑為“E:\book\網頁布局\代碼\img \bg.jpg”;如果把“E:\book\網頁布局\代碼\第2章”設為虛擬目錄,那么“/img/bg.jpg”的真實路徑為“E:\book\網頁 布局\代碼\第2章\img\bg.jpg”