HTML/CSS 绝对路径和相对路径

  

  

【问题描述】:

比如你有Web项目solo,假如目录结构如下:

HTML/CSS <wbr>绝对路径和相对路径

  

body {
     background-image: url("/skins/cy/images/icons.png");
 }

HTML/CSS <wbr>绝对路径和相对路径

   但是你这样打开http://localhost:8080/solo/skins/cy/images/icons.png那图片又是存在的,那这个何解呢?

【问题分析】:

   

   

   

   

【问题解决】:

方法一:

  

background-image: url("../images/icons.png");

方法二:

   改用还是绝对定位,假如服务器没做任何设定,并且项目没有部署到tomcat下webapps的ROOT目录下,由于CSS的/..定位到的http://localhost:8080。那么改为:

background-image: url("/solo/skins/images/icons.png");

方法三:

  

   1,部署到tomcat下webapps的ROOT目录,你需要这样做,部署包重命名为 ROOT.war 并移到部署目录下,例如 d:/tomcat/webapps/ROOT.war,那么/..就会指向http://localhost:8080/solo。

  

   2,更改tomcat的配置,如下修改(更多信息请自己搜了咯)

找到tomcat的server.xml(在conf目录下),找到
     unpackWARs="true" xmlValidation="false" xmlNamespaceAware="false">。在前插入

     

      再次访问http://localhost:8080时,就是直接访问D:/eclipsepath/workspace/solo/目录下的文件了。