有什么区别?谢谢。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