經常聽到網友苦述自己的網頁中有許多圖片不能正常顯示,究竟為什麼不能正常顯示呢?總結其原因絕大部分都是因為使用了錯誤路徑所致。網頁中的圖像、動畫等素材都有自己固定的存放位置,網頁只是通過路徑使用HTML語言來調用它們,然後把它們顯示在網頁中。在網頁中的路徑大體可分為相對路徑和絕對路徑,大家(尤其是初學網頁設計的朋友)往往對它們不夠認識,在應該使用相對路徑的地方使用了絕對路徑,從而導致瀏覽器無法在指定的位置打開指定的文件,使素材不能正常顯示。
' q, S. r Z9 P, C7 M/ R4 {2 g) J# b) w; e6 u
那什麼是相對路徑?什麼是絕對路徑呢?為什麼使用了絕對路徑有時就不能顯示呢?讓我們一起來認識一下它們吧。. i! [% w W& B" Q; ~! {
, s. b8 ?& L: W$ Z- W* v" k# P: w1 u
比如C盤的My Pictures目錄下有一個tp.jpg圖像,那麼它的路徑就是c:\My pictures\tp.jpg,其實這種完整地描述文件位置的路徑就是絕對路徑。如網頁index.htm中有一張圖片tp.jpg,它們的絕對路徑是:
, y1 X/ O/ O7 P; s ^. J& ]
8 `$ Q" M6 p. Z6 }5 \ c:\My pictures\index.htm& O9 i F+ q$ Q$ M1 x
! u5 g2 k5 R( l+ r2 L9 J3 Q
c:\My pictures\tp.jpg
i N' w) U$ o8 t* v+ H& u7 i
8 L, \7 R8 u- l; Z4 w, t* C; H 如果你使用了絕對路徑c:\My pictures\tp.jpg進行圖片鏈接,那麼在本地電腦中將一切正常,因為在c:\My pictures下的確存在tp.jpg這個圖片。但你將它們上傳到網站服務器上後,就不會正常了,因為服務器給你劃分的存放空間可能在C盤其他目錄中,也可能在D盤其他目錄中,總之不會那麼巧的就是c:\My pictures。那麼圖片路徑應該如何設置呢?這裡就必須使用相對路徑了,所謂相對路徑,顧名思義就是自己相對與目標位置。在上例中index.htm中連接的tp.jpg就可以使用My pictures\tp.jpg來定位文件,這樣不論將這些文件放到哪裡,只要它們的相對關係沒有變,就不會出錯。具體的鏈接方式是這樣的:「..\My pictures\img.jpg」,其中使用「..\」來表示上一級目錄,「..\..\」表示上上級的目錄,以此類推。5 j: G+ d0 ?! B6 k; A
7 b( W" G K. z A8 d
我們一起來看看初學的朋友可能犯的幾個路徑錯誤:
" `% M P. h- k( s; x
3 n9 J- i9 y; }1 u7 g2 `" d5 Z例1
5 Q: c K( k' R
4 b3 H* l) }/ H- P) \7 U c:\mywed\wed\index.htm
6 y! U( N. ], d k4 @$ d" w+ M
- w8 M o. G9 d. R8 |+ g c:\mywed\img\tp.jpg
% H4 ^ I& [' ?0 r. R0 z6 C3 l8 v' t& t8 k7 x. ~" g/ g
在此例中,index.htm網頁中有tp.jpg這個圖片,因為兩個文件同在Mywed目錄下,所以初學者可能把圖片鏈接寫為img\tp.jpg,那麼這樣實際的鏈接就變為了C:\mywed\wed\img\tp.jpg,顯然這是不正確的。正確的路徑應該是相對路徑..\img\tp.jpg。
7 ~7 p8 Q( e: g' M6 y6 x9 {
4 k e# S. ?; x, h例2
3 \* z( ] W% M+ ^1 Z+ Y. f6 `7 b k
c:\mywed\wed\wed1\index.htm
2 D2 H2 h9 q/ ?! ^- Z9 G
2 Z) f6 H' T- ] a. \6 k8 z c:\mywed\img\img1\tp.jpg
. _9 n2 l2 f$ v6 \, E) d% Y, o
4 f! A2 `* @6 {' s 在此例中,index.htm網頁中有tp.jpg這個圖片,初學者可能錯誤的把圖片鏈接寫為..\img\img1\tp.jpg,那麼這樣轉為絕對路徑就是C:\mywed\wed\img\img1\tp.jpg了,因為在該目錄下並沒有此文件,所以顯然這種鏈接是錯誤的。正確的應該是..\..\img\img1\tp.jpg。
' {( A- H, k% f7 t# ]# |% b
4 W2 X8 b' z& B* t% o例3) q3 A! s0 f ^% a3 C, m& ]7 T
$ W8 i$ L- o1 n7 U
c:\mywed\wed\wed\index.htm
. M9 c- g0 P0 C7 K8 m. k* a4 Y: ^$ D3 I: _1 K
c:\mywed\wed\img\tp.jpg
( H# |- W( d8 M' a; ?) Q' ^: H0 N3 i, J* ~8 {' F+ u) y3 V" B
在此例中,index.htm網頁中有tp.jpg這個圖片,初學者可能錯誤地把圖片鏈接寫為..\..\img\tp.jpg,那麼這樣轉為絕對路徑就是C:\mywed\img\tp.jpg了,因為在該目錄下並沒有此文件,所以顯然這種鏈接是錯誤的。正確的應該是..\img\tp.jpg。: {3 Q' R; S# p4 \ K9 {3 l
5 A* M. Z8 d" }% D d2 ?* d 通過上面三個例子,我們可以看到網頁與圖片所在目錄相同的部分都可以使用「..」進行代替。- b3 O# X7 m3 ]8 x! W' s0 z) Q
, e. |& m: A Y0 g9 A( @ 有的讀者可能會有這樣的疑惑:一個網站有許多的鏈接,我怎麼能保證它們的連接都正確,如果我調整了一下圖片或網頁的存儲路徑,那不是全亂了麼?為了提高工作效率,我們推薦大家使用Dreamweaver進行網站編輯,因為它有個站點管理功能,使用該功能絕對路徑可以自動地轉化為相對路徑,並且當你在站點中改動文件路徑時,與這些文件關聯的連接路徑都會自動更改,實在是方便極了! |
|