首页 > 资讯 > 网站设计
网页制作的困惑──路径
发布时间:2005-03-29   浏览次数:1154493
如果你刚刚开始接触网页制作,是不是经常发生这样的问题呢?做好的网页在自己机器上可以正常浏览,而把页面传到服务器上总是出现看不到图片,css样式表失效等错误。这种情况下多半是由于你使用了错误的路径,在应该使用相对路径的地方使用了路径,导致浏览器无法在指定的位置打开指定的文件。下面我们来谈一下最让初学者头疼的相对路径与路径的区别及相关问题。什么是路径大家都知道,在我们平时使用计算机时要找到需要的文件必须知道文件的位置,而表示文件的位置的方式是路径。例如只要看到这个路径:c:/website/img/photo.jpg我们知道photo.jpg文件是在c盘的website目录下的img子目录中。类似于这样完整的描述文件位置的路径是路径。我们不需要知道其他任何信息可以根据路径判断出文件的位置。在网站的应用中,通常我们使用“/”来表示根目录,/img/photo.jpg表示photo.jpg文件在这个网站的根目录上的img目录里。但是这样使用对于初学者来说是具有风险性的,因为要知道这里所指的根目录并不是你的网站的根目录,而是你的网站所在的服务器的根目录,因此当网站的根目录与服务器根目录不同时,会发生错误。什么是相对路径让我们先来分析一下为什么会发生图片不能正常显示的情况。举一个例子,现在有一个页面index.htm,在这个页面中连接有一张图片photo.jpg。它们的路径如下:c:/website/index.htmc:/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。例1:c:/website/web/index.htmc:/website/img/photo.jpg在此例中index.htm中链接的photo.jpg可以使用../img/photo.jpg的相对路径来定位文件错误写法举例:img/photo.jpg这种写法是不正确的,在此例中,对于index.htm文件来说img/photo.jpg所代表的路径是:c:/website/web/img/photo.jpg,显然不符合要求。例2:c:/website/web/xz/index.htmc:/website/img/images/photo.jpg在此例中index.htm中连接的photo.jpg可以使用../../img/images/photo.jpg的相对路径来定位文件错误写法举例:../img/images/photo.jpg这种写法是不正确的,在此例中对于index.htm文件来说../img/images/photo.jpg所代表的路径是:c:/website/web/img/images/photo.jpg。例3:c:/website/web/xz/index.htmc:/website/web/img/photo.jpg在此例中index.htm中连接的photo.jpg可以使用../img/photo.jpg的相对路径来定位文件错误写法举例:../../img/photo.jpg在此例中对于index.htm文件来说../../img/photo.jpg所代表的路径是:c:/website/img/photo.jpg。如何修改样式表的路径有时我们发现在网页制作工具中做好的网页CSS效果,预览时没有问题,但如果传到网上或者用IE浏览器打开,你会发现CSS所应用到的网页元素完全没有作用。这同样是链接错误的原因。CSS也存在链接问题。使用文本编辑器打开htm文件,查看源代码,在源代码的开头部分......标记中间找到。“Href=”后面的内容是css的路径,我们可以根据以上的知识进行相对路径的转换。如:c:/website/web/xz/index.htm和c:/website/css/test.css,其中index.htm中联接test.css文件,可以使用../../css/test.css的相对路径来定位文件,完整的代码标记是:错误写法:../../../css/test.css这种写法是不正确的,在此例中对于index.htm文件来说../../../css/test.css所代表的路径是:c:/css/test.css,为了避免在制作网页时出现路径错误,我们可以使用dreamweaver的站点管理功能来管理站点。只要使用菜单命令site-new site新建站点并定义站点目录之后,它将自动的把路径转化为相对路径,并且当你在站点中移动文件的时候,与这些文件关联的连接路径都会自动更改,实在是非常的方便。诀窍总结通过以上的例子可以发现,在把路径转化为相对路径的时候,两个文件路径中相同的部分都可以忽略,不做考虑。只要考虑它们不同之处可以了。
业务咨询

Copyright 2003 - 2023 huinet.cn All Rights Reserved.
慧网公司 版权所有