相对路径: 分析一下为什么会发生图片不能正常显示的情况。举一个例子,现在有一个页面index.htm,在这个页面中联接有一张图片photo.jpg。他们的绝对路径如下:
c:/website/index.htm
c:/website/img/photo.jpg 如果你使用绝对路径c:/website/img/photo.jpg,那么在自己的计算机上将一切正常,因为确实可以在指定的位置即c:/website/img/photo.jpg上找到photo.jpg文件,但是当你将页面上传到网站的时候就很可能会出错了,因为你的网站可能在服务器的c盘,可能在d盘,也可能在aa目录下,更可能在bb目录下,总之没有理由会有c:/website/img/photo.jpg这样一个路径。那么,在index.htm文件中要使用什么样的路径来定位photo.jpg文件呢?对,应该是用相对路径,所谓相对路径,顾名思义就是自己相对与目标位置。在上例中index.htm中联接的photo.jpg可以使用img/photo.jpg来定位文件,那么不论将这些文件放到哪里,只要他们的相对关系没有变,就不会出错。 另外我们使用“../”来表示上一级目录,“../../”表示上上级的目录,以此类推。(学习过dos的朋友可能更容易理解) 再看几个例子,注意所有例子中都是index.htm文件中联接有一张图片photo.jpg。 例:
c:/website/web/index.htm
c:/website/img/photo.jpg
在此例中index.htm中联接的photo.jpg应该怎样表示呢?
错误写法:img/photo.jpg
这种写法是不正确的,在此例中,对于index.htm文件来说img/photo.jpg所代表的绝对路径是:c:/website/web/img/photo.jpg,显然不符合要求。
正确写法:使用../img/photo.jpg的相对路径来定位文件
例:
c:/website/web/xz/index.htm
c:/website/img/images/photo.jpg
在此例中index.htm中联接的photo.jpg应该怎样表示呢?
错误写法:../img/images/photo.jpg
这种写法是不正确的,在此例中对于index.htm文件来说../img/images/photo.jpg所代表的绝对路径是:c:/website/web/img/images/photo.jpg。
正确写法:可以使用../../img/images/photo.jpg的相对路径来定位文件
例:
c:/website/web/xz/index.htm
c:/website/web/img/photo.jpg
在此例中index.htm中联接的photo.jpg应该怎样表示呢?
错误写法:../../img/photo.jpg
这种写法是不正确的,在此例中对于index.htm文件来说../../img/photo.jpg所代表的绝对路径是:c:/website/img/photo.jpg。
正确写法:可以使用../img/photo.jpg的相对路径来定位文件
总结:通过以上的例子可以发现,在把绝对路径转化为相对路径的时候,两个文件绝对路径中相同的部分都可以忽略,不做考虑。只要考虑他们不同之处就可以了。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。