在HTML裡只要涉及文件的地方(如超級連結、圖片等)就會涉及絕對路徑與相對路徑的概念。
1.絕對路徑
絕對路徑是指檔案在硬碟上真正存在的路徑。例如「bg.jpg」這個圖片是存放在硬碟的「E:book網頁版面程式碼第2章」目錄下,那麼「bg.jpg」這個圖片的絕對路徑就是「E:book網頁布程式碼第2章bg .jpg"。那麼如果要使用絕對路徑指定網頁的背景圖片就應該使用以下語句:
2.使用絕對路徑的缺點
事實上,在網頁編程時,很少會使用絕對路徑,如果使用“E:book網頁布代碼第2章bg.jpg”來指定背景圖片的位置,在自己的電腦上瀏覽可能會一切正常,但是上傳到網頁伺服器上瀏覽就很有可能不會顯示圖片了。因為上傳到Web伺服器時,可能整個網站並沒有放在Web伺服器的E盤, 有可能是D盤或H盤。即使放在Web伺服器的E盤裡,Web伺服器的E盤裡也不一定會存在「E:book網頁版面程式碼第2章」這個目錄,因此在觸及 覽網頁時是不會顯示圖片的。
3.相對路徑
為了避免這種隋況發生,通常在網頁裡指定檔案時,都會選擇使用相對路徑。所謂相對路徑,就是相對於自己的目標檔案位置。例如上面的例子,「s1.htm」 檔案裡引用了「bg.jpg」圖片,由於「bg.jpg」圖片相對於「s1.htm」來說,是在同一個目錄的,那麼要在「s1 .htm」檔案裡使用以下程式碼後,只要這兩個檔案的相對位置沒有變(也就是說還是在同一個目錄內),那麼無論上傳到Web伺服器的哪個位置,在瀏覽器裡都能正確地顯示圖片。
再舉一個例子,假設“s1.htm”文件所在目錄為“E:book網頁佈局程式碼第2章” ,而“bg.jpg”圖片所在目錄為“E:book網頁佈局代碼第2章img”,那麼“bg.jpg”圖片相對於“s1.htm”文件來說,是在其所在目錄的“img 」子目錄裡,則引用圖片的語句應該為:
注意:相對路徑使用“/”字符作為目錄的分隔字符,而絕對路徑可以使用“”或“/”字符作為目錄的分隔字符。由於「img」目錄是「第2章」目錄下的子目錄,因此在「img」前不用再加上「/」字元。
在 相對路徑裡常使用「../」來表示上一層目錄。如果有多個上一級目錄,可以使用多個“../”,例如“http://www.php.cn/”代表上上級目錄。假設“s1.htm”檔案所在目錄為“E:book網頁版面碼第2章”,而“bg.jpg”圖片所在目錄為“E:book網頁版面程式碼”,那麼“bg.jpg”圖片相對於「s1.htm」文件來說,是在其所在目錄的上級目錄裡,則引用圖片的語句應該為:
再舉一個例子,假設“s1.htm”文件所在目錄為“E:book網頁佈局代碼第2章”,而“bg.jpg”圖片所在目錄為“E: book網頁版面碼img”,那麼“bg.jpg”圖片相對於“s1.htm”文件來說,是在其所在目錄的上級目錄裡的“img”子目錄裡,則引用圖片的語句應該為:
4.相對虛擬目錄
有關相對路徑還有一個比較特殊的表示:「相對虛擬目錄」。請看下面的範例:
在這個範例裡,background屬性的值為「 /img/bg.jpg”,注意在“img”前面有一個“/”字元。這個「/」代表的是虛擬目錄的根目錄. 假設把「E:book網頁版面程式碼」設為虛擬目錄,那麼「/img/bg.jpg」的真實路徑為「E:book網頁版面程式碼img bg .jpg」;如果把「E:book網頁版面程式碼第2章」設為虛擬目錄,那麼「/img/bg.jpg」的真實路徑為「E:book網頁版面程式碼第2章imgbg.jpg」
更多html中的相對路徑和絕對路徑的區別 相關文章請關注PHP中文網!