在html里只要涉及文件的地方(如超級(jí)鏈接、圖片等)就會(huì)涉及絕對(duì)路徑與相對(duì)路徑的概念。
1.絕對(duì)路徑
絕對(duì)路徑是指文件在硬盤上真正存在的路徑。例如“bg.jpg”這個(gè)圖片是存放在硬盤的“e:book網(wǎng)頁布局代碼第2章”目錄下,那么“bg.jpg”這個(gè)圖片的絕對(duì)路徑就是“e:book網(wǎng)頁布代碼第2章bg.jpg。那么如果要使用絕對(duì)路徑指定網(wǎng)頁的背景圖片就應(yīng)該使用以下語句:
2.使用絕對(duì)路徑的缺點(diǎn)
事實(shí)上,在網(wǎng)頁編程時(shí),很少會(huì)使用絕對(duì)路徑,如果使用“e:book網(wǎng)頁布代碼第2章bg.jpg”來指定背景圖片的位置,在自己的計(jì)算機(jī)上瀏覽可能會(huì)一切正常,但是上傳到web服務(wù)器上瀏覽就很有可能不會(huì)顯示圖片了。因?yàn)樯蟼鞯絯eb服務(wù)器上時(shí),可能整個(gè)網(wǎng)站并沒有放在web服務(wù)器的e盤,有可能是d盤或h盤。即使放在web服務(wù)器的e盤里,web服務(wù)器的e盤里也不一定會(huì)存在“e:book網(wǎng)頁布局代碼第2章”這個(gè)目錄,因此在瀏覽網(wǎng)頁時(shí)是不會(huì)顯示圖片的。
3.相對(duì)路徑
為了避免這種隋況發(fā)生,通常在網(wǎng)頁里指定文件時(shí),都會(huì)選擇使用相對(duì)路徑。所謂相對(duì)路徑,就是相對(duì)于自己的目標(biāo)文件位置。例如上面的例子,“s1.htm”文件里引用了“bg.jpg”圖片,由于“bg.jpg”圖片相對(duì)于“s1.htm”來說,是在同一個(gè)目錄的,那么要在“s1.htm”文件里使用以下代碼后,只要這兩個(gè)文件的相對(duì)位置沒有變(也就是說還是在同一個(gè)目錄內(nèi)),那么無論上傳到web服務(wù)器的哪個(gè)位置,在瀏覽器里都能正確地顯示圖片。
再舉一個(gè)例子,假設(shè)“s1.htm”文件所在目錄為“e:book網(wǎng)頁布局代碼第2章”,而“bg.jpg”圖片所在目錄為“e:book網(wǎng)頁布局代碼第2章img”,那么“bg.jpg”圖片相對(duì)于“s1.htm”文件來說,是在其所在目錄的“img”子目錄里,則引用圖片的語句應(yīng)該為:
注意:相對(duì)路徑使用“/”字符作為目錄的分隔字符,而絕對(duì)路徑可以使用“”或“/”字符作為目錄的分隔字符。由于“img”目錄是“第2章”目錄下的子目錄,因此在“img”前不用再加上“/”字符。
在相對(duì)路徑里常使用“../”來表示上一級(jí)目錄。如果有多個(gè)上一級(jí)目錄,可以使用多個(gè)“../”,例如“../../”代表上上級(jí)目錄。假設(shè)“s1.htm”文件所在目錄為“e:book網(wǎng)頁布局代碼第2章”,而“bg.jpg”圖片所在目錄為“e:book網(wǎng)頁布局代碼”,那么“bg.jpg”圖片相對(duì)于“s1.htm”文件來說,是在其所在目錄的上級(jí)目錄里,則引用圖片的語句應(yīng)該為:
再舉一個(gè)例子,假設(shè)“s1.htm”文件所在目錄為“e:book網(wǎng)頁布局代碼第2章”,而“bg.jpg”圖片所在目錄為“e:book網(wǎng)頁布局代碼img”,那么“bg.jpg”圖片相對(duì)于“s1.htm”文件來說,是在其所在目錄的上級(jí)目錄里的“img”子目錄里,則引用圖片的語句應(yīng)該為:
4.相對(duì)虛擬目錄
有關(guān)相對(duì)路徑還有一個(gè)比較特殊的表示:“相對(duì)虛擬目錄”。請(qǐng)看下面的例子:
在這個(gè)例子里,background屬性的值為“/img/bg.jpg”,注意在“img”前有一個(gè)“/”字符。這個(gè)“/”代表的是虛擬目錄的根目錄.假設(shè)把“e:book網(wǎng)頁布局代碼”設(shè)為虛擬目錄,那么“/img/bg.jpg”的真實(shí)路徑為“e:book網(wǎng)頁布局代碼img/bg.jpg”;如果把“e:book網(wǎng)頁布局代碼第2章”設(shè)為虛擬目錄,那么“/img/bg.jpg”的真實(shí)路徑為“e:book網(wǎng)頁布局代碼第2章img/bg.jpg”