天天看點

相對路徑和絕對路徑的差別

在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”

本文轉自夏雪冬日部落格園部落格,原文連結:http://www.cnblogs.com/heyonggang/archive/2013/03/01/2938984.html,如需轉載請自行聯系原作者