HTML 相对路径和绝对路径区别分析

所属分类: 网页制作 / HTML/Xhtml 阅读数: 560
收藏 0 赞 0 分享
HTML初学者会经常遇到这样一个问题,如何正确引用一个文件。比如,怎样在一个HTML网页中引用另外一个HTML网页作为超链接(hyperlink)?怎样在一个网页中插入一张图片

如果你在引用文件时(如加入超链接,或者插入图片等),使用了错误的文件路径,就会导致引用失效(无法浏览链接文件,或无法显示插入的图片等)。

为了避免这些错误,正确地引用文件,我们需要学习一下HTML路径。

HTML有2种路径的写法:相对路径和绝对路径。

HTML相对路径(Relative Path)
同一个目录的文件引用
如果源文件和引用文件在同一个目录里,直接写引用文件名即可。

我们现在建一个源文件info.html,在info.html里要引用index.html文件作为超链接。

假设info.html路径是:c:\Inetpub\wwwroot\sites\blabla\info.html
假设index.html路径是:c:\Inetpub\wwwroot\sites\blabla\index.html
在info.html加入index.html超链接的代码应该这样写:

<a href = "index.html">index.html</a>


如何表示上级目录
../表示源文件所在目录的上一级目录,../../表示源文件所在目录的上上级目录,以此类推。

假设info.html路径是:c:\Inetpub\wwwroot\sites\blabla\info.html
假设index.html路径是:c:\Inetpub\wwwroot\sites\index.html
在info.html加入index.html超链接的代码应该这样写:


<a href = "../index.html">index.html</a>

假设info.html路径是:c:\Inetpub\wwwroot\sites\blabla\info.html
假设index.html路径是:c:\Inetpub\wwwroot\index.html
在info.html加入index.html超链接的代码应该这样写:


<a href = "../../index.html">index.html</a>

假设info.html路径是:c:\Inetpub\wwwroot\sites\blabla\info.html
假设index.html路径是:c:\Inetpub\wwwroot\sites\wowstory\index.html
在info.html加入index.html超链接的代码应该这样写:


<a href = "../wowstory/index.html">index.html</a>

如何表示下级目录
引用下级目录的文件,直接写下级目录文件的路径即可。

假设info.html路径是:c:\Inetpub\wwwroot\sites\blabla\info.html
假设index.html路径是:c:\Inetpub\wwwroot\sites\blabla\html\index.html
在info.html加入index.html超链接的代码应该这样写:


<a href = "html/index.html">index.html</a>

假设info.html路径是:c:\Inetpub\wwwroot\sites\blabla\info.html
假设index.html路径是:c:\Inetpub\wwwroot\sites\blabla\html\tutorials\index.html
在info.html加入index.html超链接的代码应该这样写:


<a href = "html/tutorials/index.html">index.html</a>
HTML绝对路径(Absolute Path)
HTML绝对路径(absolute path)指带域名的文件的完整路径。

假设你注册了域名www.jb51.net,并申请了虚拟主机,你的虚拟主机提供商会给你一个目录,比如www,这个www就是你网站的根目录。

假设你在www根目录下放了一个文件index.html,这个文件的绝对路径就是: https://www.jb51.net/index.html。

假设你在www根目录下建了一个目录叫html_tutorials,然后在该目录下放了一个文件index.html,这个文件的绝对路径就是https://www.jb51.net/html_tutorials/index.html。
更多精彩内容其他人还在看

html中textarea的使用及常见问题及案例分析

textarea标签是我们经常使用的一个html标签,主要是在输入较长的文本时,可以实现换行等效果。下面引用一个他的基本使用: textarea 标签 -- 代表HTML表单多行输入域 textarea标签是成对出现的,以<textarea>开始,以</text... 查看详情
收藏 0 赞 0 分享

html与嵌入其中的flash均存在滚动条的情况分析及处理方法

我们在做开发时经常会遇到这种情况: a.swf被添加到网页中, a.swf和html页面同时存在滚动条, 项目经理提了一个BT的需求---处理a.swf鼠标滚动的时候html页面不执行滚动, 反之则执行html页面的滚动! 应该怎么做呢? 方法1: 1.鼠标移入a.swf滚动区域... 查看详情
收藏 0 赞 0 分享

关于IE标签LI文字换行问题

折腾好久了,搜了一下还真有牛人解决了这个问题。在使用UL和LI显示文字的时候,由于IE浏览器对LI的文字长度没有默认强制令起一行。导致如果文字超出UL设定的宽度再先有的位置上折行,造成显示问题。 解决方法: 复制代码代码如下: ul li{ white-space:nowrap;... 查看详情
收藏 0 赞 0 分享

Form表单中method=post/get两种数据传输的方式的区别

Form提供了两种数据传输的方式——get和post。虽然它们都是数据的提交方式,但是在实际传输时确有很大的不同,并且可能会对数据产生严重的影响。虽然为了方便的得到变量值,Web容器已经屏蔽了二者的一些差异,但是了解二者的差异在以后的编程也会很有帮助的。 ... 查看详情
收藏 0 赞 0 分享

Table相关整理及Javascript操作table,tr,td

效果良好的表属性设置: 复制代码代码如下: <table cellSpacing="0" cellPadding="0" border='1' bordercolor="black" style='border-collapse:collapse;table-layout:... 查看详情
收藏 0 赞 0 分享

td 内容自动换行 table表格td设置宽度后文字太多自动换行

设置table 的 style="table-layout:fixed;" 然后设置td的 style="word-wrap:break-word;" 即可 但这种情况下表格宽度自由分配,所以如果不用设置table 的 style=&qu... 查看详情
收藏 0 赞 0 分享

html4和html5区别之如何在一个input上添加焦点实现代码

html4: 复制代码代码如下: <form> <p><label>Username:<input name=search type="text" id="search"></label></p> <s... 查看详情
收藏 0 赞 0 分享

纯css为select添加样式(无脚本)实现

改变select默认的样式,一般情路情况下通过ul,li来模拟来实现。 有很多Jquery插件就是通过这样的方式来改变select默认样式的。 根据程序哥哥那边的反映,此种方式在form提交后无法获取数据,后来经过实验,用了不同的JS/Jquery插件,都是同样的结果:无法获取数... 查看详情
收藏 0 赞 0 分享

iframe的src赋值问题(服务器端)

今天遇到这个问题,服务器端的iframe重新src重新赋值,给iframe加一个ID,再加上runat=server 1.通过JS 给 iframe 的src 赋值 2.如果需要在C# 后台,页面加载时就改变iframe的src 可以通过 如<iframe id="... 查看详情
收藏 0 赞 0 分享

iframe的src设置为about:blank之后细节探讨

设置 iframe 的 src 为 'about:blank' 之后,不置为“about:blank”,内存不会释放掉。还必须用 iframe.document.write(''); 这样才能将内容清空,但是这样处理之后任然会有500-1000K左右的内存... 查看详情
收藏 0 赞 0 分享
查看更多