經常聽到網友苦述自己的網頁中有許多圖片不能正常顯示,究竟為什麼不能正常顯示呢?總結其原因絕大部分都是因為使用了錯誤路徑所致。網頁中的圖像、動畫等素材都有自己固定的存放位置,網頁只是通過路徑使用HTML語言來調用它們,然後把它們顯示在網頁中。在網頁中的路徑大體可分為相對路徑和絕對路徑,大家(尤其是初學網頁設計的朋友)往往對它們不夠認識,在應該使用相對路徑的地方使用了絕對路徑,從而導致瀏覽器無法在指定的位置打開指定的文件,使素材不能正常顯示。
Z( u# a O6 B1 _
) S. Y- E3 ~8 [, H) H" C 那什麼是相對路徑?什麼是絕對路徑呢?為什麼使用了絕對路徑有時就不能顯示呢?讓我們一起來認識一下它們吧。
- Z# H' O Y7 g
- }; v# Y& [( O 比如C盤的My Pictures目錄下有一個tp.jpg圖像,那麼它的路徑就是c:\My pictures\tp.jpg,其實這種完整地描述文件位置的路徑就是絕對路徑。如網頁index.htm中有一張圖片tp.jpg,它們的絕對路徑是:
# K6 D# S4 e6 G; F8 k! J' J, Q% r) w& o0 E: m8 J; D
c:\My pictures\index.htm
0 U. C) H- f* X* r, c7 B
" C" }# T U x( H* T# y& s5 N# ~! H1 t c:\My pictures\tp.jpg7 k$ S* _, F( c9 K( r
) Z" p, |" \& j4 d/ z# ~ 如果你使用了絕對路徑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」,其中使用「..\」來表示上一級目錄,「..\..\」表示上上級的目錄,以此類推。. m( q6 \; @( F4 ^0 `( k
! B0 H+ M7 f) ?! Q- W 我們一起來看看初學的朋友可能犯的幾個路徑錯誤:
8 w3 T% ]& J) R6 x6 s; Y) \4 }9 v: ?% F! q
例1& Z4 p& ^ \7 v: O& l+ Q/ A
5 O4 J1 d7 q# d8 m5 D
c:\mywed\wed\index.htm
" R6 M3 {& B' t- e% ~+ r
5 W5 T1 {4 Z& z5 ?2 x c:\mywed\img\tp.jpg" i0 q' \7 k" H1 |2 I' K
1 N& g" }8 f$ w- }+ P7 v
在此例中,index.htm網頁中有tp.jpg這個圖片,因為兩個文件同在Mywed目錄下,所以初學者可能把圖片鏈接寫為img\tp.jpg,那麼這樣實際的鏈接就變為了C:\mywed\wed\img\tp.jpg,顯然這是不正確的。正確的路徑應該是相對路徑..\img\tp.jpg。5 f2 U& H# O+ _& W& u
H( F1 L) e% h+ W/ b+ s& e例2
" Q9 d; l5 B$ o! X: u3 _' M6 r
" A, P7 c, |6 l0 y5 F. \. [+ x3 ? c:\mywed\wed\wed1\index.htm
; k9 b2 N0 y, a* D
) H# w) n. m7 K c:\mywed\img\img1\tp.jpg4 b8 h' Z8 a5 s5 t" i- y3 q
; r6 f) l( N* _( b! u 在此例中,index.htm網頁中有tp.jpg這個圖片,初學者可能錯誤的把圖片鏈接寫為..\img\img1\tp.jpg,那麼這樣轉為絕對路徑就是C:\mywed\wed\img\img1\tp.jpg了,因為在該目錄下並沒有此文件,所以顯然這種鏈接是錯誤的。正確的應該是..\..\img\img1\tp.jpg。
7 u6 X( l1 D, I4 f$ o- W
. k& C# n' l; s5 R/ D3 ^例3 s6 u; J. }& h/ l X q
# y3 j& q! Z; I( Z c:\mywed\wed\wed\index.htm8 d+ h0 n" L+ c, O
( R/ o }+ P( Z1 i. ~- J# L7 q c:\mywed\wed\img\tp.jpg g" e }4 s6 n5 Y& g: o# L% n6 `
) I4 I4 ] V% I$ [ 在此例中,index.htm網頁中有tp.jpg這個圖片,初學者可能錯誤地把圖片鏈接寫為..\..\img\tp.jpg,那麼這樣轉為絕對路徑就是C:\mywed\img\tp.jpg了,因為在該目錄下並沒有此文件,所以顯然這種鏈接是錯誤的。正確的應該是..\img\tp.jpg。+ ^7 U8 Q6 f! R# I C3 l- V
" m; S7 k' J2 X8 D: u; U 通過上面三個例子,我們可以看到網頁與圖片所在目錄相同的部分都可以使用「..」進行代替。
7 f5 p. d2 a+ k% Q+ E: j2 \. d$ [% y/ L
有的讀者可能會有這樣的疑惑:一個網站有許多的鏈接,我怎麼能保證它們的連接都正確,如果我調整了一下圖片或網頁的存儲路徑,那不是全亂了麼?為了提高工作效率,我們推薦大家使用Dreamweaver進行網站編輯,因為它有個站點管理功能,使用該功能絕對路徑可以自動地轉化為相對路徑,並且當你在站點中改動文件路徑時,與這些文件關聯的連接路徑都會自動更改,實在是方便極了! |
|