有什麼區別?謝謝。HTML不同鏈接類型問題
<img src="images/file.jpg"></img>
between
<img src="/images/file.jpg"></img>
between
<img src="./images/file.jpg"></img>
between
<img src="../images/file.jpg"></img>
有什麼區別?謝謝。HTML不同鏈接類型問題
<img src="images/file.jpg"></img>
between
<img src="/images/file.jpg"></img>
between
<img src="./images/file.jpg"></img>
between
<img src="../images/file.jpg"></img>
您需要了解relative and absolute paths。
這裏是我對你的例子的解釋,但你真的應該閱讀鏈接以理解這些概念。
如果基URL是 「http://example.com/resources/」,那麼:
<img src="images/file.jpg"></img>
將獲得:
http://example.com/resources/images/file.jpg
它只是增加了src網址到基礎URL 。
<img src="/images/file.jpg"></img>
將獲得:
http://example.com/images/file.jpg
Bacuse圖像URL植根(有/
開始)使用的域,並增加了圖片src域。
<img src="./images/file.jpg"></img>
將獲得:
http://example.com/resource/images/file.jpg
在這種情況下,使用當前目錄(.
),這是基本目錄(資源)的相對路徑。
<img src="../images/file.jpg"></img>
將獲得:
http://example.com/images/file.jpg
在這種情況下,它使用相對路徑的父目錄(..
),這使得它走了一個目錄,然後添加其餘路徑。
第一個,第三個和最後一個是相對於當前路徑。在最後一箇中,..
是父文件夾,這意味着您基本上在層次結構中提升了一個級別,而在第二個文件夾中,.
是當前文件夾,使URI等同於第一個文件夾。第二個是相對於根,因爲它以/
開頭。詳細瞭解HTML4 spec中的URI,或者通常有關Unix-style paths的URI。
因此,如果你在website.com/folder/folder/index.html
,四個的URI是相同的:
website.com/folder/folder/images/file.jpg
website.com/images/file.jpg
website.com/folder/folder/images/file.jpg
website.com/folder/images/file.jpg
不,他們都是相對的。也就是說,用戶代理將添加信息以創建絕對URI,以便它可以請求資源。不同之處在於它們與*相對*。第一個是相對於當前文件(所有意圖和目的相當於第三個,「/ ...「),第二個相對於服務器根目錄,第三個到當前目錄,第四個到父目錄。對於所有本地鏈接來說,根相對鏈接是最佳實踐,因爲它不會中斷如果主機文檔移動,絕對URI包含協議 – 2010-09-29 17:07:10
好點但是,我不同意最後一個是相對於它的父 - 它是相對於當前文件夾,除了特殊文件夾「.. '指的是父文件夾。 – You 2010-09-29 19:51:53
所以和在功能上是一樣的,對不對? – netrox 2010-09-29 16:55:56
@netrox - 非常。沒有真正意義的使用'。' – Oded 2010-09-29 16:57:00