相对路径和绝对路径

时间:2022-11-26 18:54:36
   
绝对路径与相对路径 
  在HTML里只要涉及文件的地方(如超级链接、图片等)就会涉及绝对路径与相对路径的概念。 
 
 1.绝对路径 
    绝对路径是指文件在硬盘上真正存在的路径。例如“bg.jpg”这个图片是存放在硬盘的“E:\book\网页布局代码\第2章”目录下,那么“bg.jpg”这个图片的绝对路径就是“E:\book\网页布\代码\第2章\bg.jpg"。那么如果要使用绝对路径指定网页的背景图片就应该使用以下语句: 
<body backround="E:\book\网页布局\代码\第2章\bg.jpg" >  
 
  2.使用绝对路径的缺点 
   事实上,在网页编程时,很少会使用绝对路径,如果使用“E:\book\网页布\代码\第2章\bg.jpg”来指定背景图片的位置,在自己的计算机上浏览可能会一切正常,但是上传到Web服务器上浏览就很有可能不会显示图片了。因为上传到Web服务器上时,可能整个网站并没有放在Web服务器的E盘,有可能是D盘或H盘。即使放在Web服务器的E盘里,Web服务器的E盘里也不一定会存在“E:\book\网页布局\代码\第2章”这个目录,因此在浏览网页时是不会显示图片的。  
  3.相对路径 
    为了避免这种隋况发生,通常在网页里指定文件时,都会选择使用相对路径。所谓相对路径,就是相对于自己的目标文件位置。例如上面的例子,“s1.htm”文件里引用了“bg.jpg”图片,由于“bg.jpg”图片相对于“s1.htm”来说,是在同一个目录的,那么要在“s1.htm”文件里使用以下代码后,只要这两个文件的相对位置没有变(也就是说还是在同一个目录内),那么无论上传到Web服务器的哪个位置,在浏览器里都能正确地显示图片。 
      <body background="bg.jpg"> 
再举一个例子,假设“s1.htm”文件所在目录为“E:\book\网页布局\代码\第2章”,而“bg.jpg”图片所在目录为“E:\book\网页布局\代码\第2章\img”,那么“bg.jpg”图片相对于“s1.htm”文件来说,是在其所在目录的“img”子目录里,则引用图片的语句应该为: 
      <body background="img/bg.jpg">   
 
    注意:相对路径使用“/”字符作为目录的分隔字符,而绝对路径可以使用“\”或“/”字符作为目录的分隔字符。由于“img”目录是“第2章”目录下的子目录,因此在“img”前不用再加上“/”字符。 
在相对路径里常使用“../”来表示上一级目录。如果有多个上一级目录,可以使用多个“../”,例如“../../”代表上上级目录。假设“s1.htm”文件所在目录为“E:\book\网页




历史老照片不能说的秘密慈禧军阀明末清初*晚清






布局\代码\第2章”,而“bg.jpg”图片所在目录为“E:\book\网页布局\代码”,那么“bg.jpg”图片相对于“s1.htm”文件来说,是在其所在目录的上级目录里,则引用图片的语句应该为: 
      <body background="../bg.jpg">   
 
  再举一个例子,假设“s1.htm”文件所在目录为“E:\book\网页布局\代码\第2章”,而“bg.jpg”图片所在目录为“E:\book\网页布局\代码\img”,那么“bg.jpg”图片相对于“s1.htm”文件来说,是在其所在目录的上级目录里的“img”子目录里,则引用图片的语句应该为: 
      <body background="../img/bg.jpg">    
4.相对虚拟目录 
有关相对路径还有一个比较特殊的表示:“相对虚拟目录”。请看下面的例子:       <body background="/img/bg.jpg">    
  在这个例子里,background属性的值为“/img/bg.jpg”,注意在“img”前有一个“/”字符。这个“/”代表的是虚拟目录的根目录.假设把“E:\book\网页布局\代码”设为虚拟目录,那么“/img/bg.jpg”的真实路径为“E:\book\网页布局\代码\img\bg.jpg”;如果把“E:\book\网页布局\代码\第2章”设为虚拟目录,那么“/img/bg.jpg”的真实路径为“E:\book\网页布局\代码\第2章\img\bg.jpg”                     












设置网页的其他信息 
在一个网页里,除了正文与标题之外,还可以设置更多的附加信息。这些附加信息不会在浏览器里显示出来,但是却有着不可否认的作用,比如说声明网页的编写者身份、编写网页所用的软件、甚至还可以为搜索引擎提供关键词,提高网页的搜索命中率。由于这些信息不会在正文里显示,所以这些元素都将放在head标签内。 
 
  1.设置网页编写者身份说明 
  在网页里可以使用meta元素的name属性与content属性来指明编写者身份信息,其代码如下: 
<meta name="author" content="张三">  
   上面的代码可以告诉查看网页源代码的人,该网页的作者是张三。当然,meta元素中的name属性与content属性的作用不仅限于此,例如以下代码:  <meta name="Copyright" content ="本网页版权属于西华大学">  
  以上代码可以告诉查看网页源代码的人,版权属于西华大学所有。还有一种用得比较多的用法: 
<meta name="generator" content ="Microsoft Visual Studio .NET 9.1">  
    类似于以上代码通常是在使用所见即所得的工具软件编写网页时自动生成的,上面的代码说明该网页是使用名为“Microsoft Visual Studio.NET”的软件编写的,该软件的版本为9.1。 
meta里可以设置的信息是多样化的,至于要在meta里设置什么样的信息,可以由编写者自己发挥。    
  2.设置HTTP头信息 
    通常使用浏览器上网时,都是先在浏览器里输入URL,然后浏览器根据URL向Web服务器发送一个要求访问某网页或文件的请求,在Web服务器接收到请求之后,再做出响应,把网页内容或文件返回到浏览器上。由于Web服务使用的是HTTP协议,因此Web服务器在发送网页时都会包含一些额外的HTTP头信息,这些信息通常用来描述网页文档。如果浏览器通过网页提交一些数据到Web服务器上,往往也会包含一些额外的HTTP头信息。      HTTP头信息通常在meta元素的http-equiv属性里设置。由于HTTP头信息比较多,也比较复杂,在此只介绍一些常用的HTTP头信息: 
<meta http-equiv="expires" content="Thu, 14 Dec 2010 20:30:00 GMT"> 以上代码表示网页在2010-12-14 20:30:00过期。  
<meta http-equiv ="refresh" content ="30, http://www.ibum.com"> 以上代码表示网页在30秒后自动跳转到http://www.ibucm.com网页上。  
<meta http-equiv="refresh" content="30"> 以上代码表示网页在30秒后自动刷新。  
 <meta http-equiv="Content-Type" content="text/html;charset=utf-8" /> 
以上代码表示网页为纯文本型或HTML型,使用UTF-8的编码。  
<meta http-equiv="Set-Cookie" content="cookievalue=xxx; expires= Thu, 14 
Dec 2010 20:30:00 GMT ">  
     以上代码表示如果网页过期,则将存盘的Cookies删除。  
  <meta http-equiv="Content-Language" content="zh-CN"> 以上代码表示网页所使用的语言为中文。   
常用的语言代码有以下几种。 
 
 ◆中文:zh  
  ◆中文(中国):zh-cn  

  ◆ 中文(澳门特别行政区):zh-mo   

 ◆中文(*):zh-tw    

◆中文(香港):zh-hk     

◆中文(新加坡):zh-sg   

 ◆英语:en

 ◆英语(美国):en-us  

◆英语(英国):en-gb

◆朝鲜语:ko

◆德语(德国):de    

◆德语(瑞士):de-ch    

◆俄语:ru    

◆法语:fr

◆日语:ja  
  ◆意大利语(意大利):it