Q:絕對位址與相對位址?絕對位置與相對定位?
A:絕對位址:形如http://www.windstudio.net/index.htm或file://d:/homepage/index.htm這樣的地址,就是檔案在網路或本地的絕對位置;
相對位址:就是被連結檔案相對與當前頁面的地址,比如說,連結和當前頁面同級的檔案地址只要用“檔案名稱”即可;連結當前頁面下級子目錄下的檔案用“目錄名/檔案名稱”;連結當前頁面上一級目錄下的檔案用“../檔案名稱”;連結同級但在另外一個子目錄中的檔案用“../目錄名/檔案名稱”;連結根目錄(你的網站的根目錄,並非硬碟根目錄)下的檔案可以用“./檔案名稱”的形式。
其實絕對和相對很容易理解的,相對就是有參照物的,絕對則是固定的。
為什麼我們提倡使用相對位址呢?打個比方說吧,如果你有一個index.htm,裡面引用了images目錄的一些圖片,如果使用了相對位址,搬家的時候只需把原來這套東西全部上傳到新的空間就行了,因為檔案彼此之間的相對位置關係沒有改變,所以這些地址仍然是有效。但如果插入圖片的時候使用了絕對位址,那空間地址一變,引用處的圖片路徑也要隨之改變。當然,有時也會用到絕對位址,例如友情連結別人的首頁等等。
相對定位也是一樣,如果是相對於一個儲存格定位的層,儲存格挪動到哪兒,層也就會到哪兒,結合這篇《關於層的相對於絕對位置》,就可以解決層很難適應多種解析度的問題:
http://www.windstudio.net/html/200403/20040309171408.htm
用辯證的觀點來看,其實絕對位置也是相對的,它和我們所說的相對定位的區別就在於,層的絕對位置是相對於瀏覽器的左邊界和上邊界而言,而層的相對定位是層相對於它的載體(表格或另外的層)而言。
下面我主要是通過實際實戰來給大家解釋說明一下相對路徑和絕對路徑的區別。
你在自己的電腦上建立了一個名字為WEB的檔案夾用於來存放所有的網頁檔案,WEB檔案夾中有一個index.htm的網頁檔案和一個名字為01的檔案夾,其中01檔案夾裡面有一個名字為1.htm的網頁檔案。
那麼現在我在index.htm上有一個連結描述的串連是指向網頁檔案1.htm的,那麼我們可以通過相對連結的形式來實現,在index.htm檔案的源碼中連結描述應該是:<a href="01/1.htm">連結描述</a> 其中 01/1.htm 就是1.htm相對於index.htm的路徑。那麼從1.htm連結向index.htm,這樣的路徑描述應該怎麼寫呢?首先請大家看一下代碼:<a href="../index.htm">連結描述</a> 大家會看到連結路徑中出現了兩個點,這裡我們使用了父路徑,兩點的意思是返回上一級檔案夾,依次類推,返回多少個上一級檔案夾就應該出現多少個兩點。到這裡相對路徑就已經解釋完畢了。
下面來解釋一下絕對路徑的問題。
比如你現在有一個虛擬機器主機,這個虛擬機器主機綁定的網域名稱是 www.jianzhan8.cn ,那麼你就可以在瀏覽器裡通過輸入http://www.jianzhan8.cn 來訪問你的網站了。先在我們把上面的例子中的網頁檔案全部上傳到虛擬機器主機中,那麼我們得出index.htm在網際網路上的絕對位址是 http://www.jianzhan8.cn/index.htm,網頁檔案1.htm的絕對位址就是http://www.jianzhan8.cn/01/1.htm,由index.htm連結描述指向1.htm使用絕對路徑的代碼寫法是
<a href="http://www.jianzhan8.cn/01/1.htm">連結描述</a> ,由1.htm連結描述指向index.htm使用絕對路徑的代碼寫法是 <a href="http://www.jianzhan8.cn/index.htm">連結描述</a>。
關於路徑使用的建議
如果是站內檔案,建議使用相對路徑,因為它比絕對路徑的代碼短,另外相對位置也比較容易找,使網站維護比較方便。至於絕對路徑,一般是做外部資源連結的時候才使用的。
相對位址是指相對於某個對象(對於網站一般是相對網站根目錄)的地址
而與是否在本機器上是無關的
絕對位址是資源網上絕對位址
做為區別舉例子如下
如果你建立了一個網站
裡面有個圖片(圖1)使用了絕對位址
(eg: img src="http://www.aaa.com/images/1.gif")
相對應有另一個圖片(圖2)使用了相對連結
(eg: img src="images/2.gif"
相對於網站根目錄解析為http://www.aaa.com/images/2.gif)
那麼當你要把網站搬家www.bbb.com(這是比較常見的事情)
圖1將會解析到http://www.aaa.com/images/1.gif
圖2解析到http://www.bbb.com/images/2.gif
看出怎麼回事了吧
簡單來說絕對位址是從盤符開始,相對位址是相對於當前檔案夾的地址。