css中加背景图片根据图片及css文件的相对位置分一下几种类型:
1.同包下:background : url(aaa.gif)
2.不同包:
在这种情况下有2中方法可以设置,一种是使用绝对路径,即http://www.域名.com/aaa.gif这种,不过一般不推荐这么用,不利于项目移植;一种是使用相对路径,首先需要找到图片文件和css文件共同的一个根目录,然后再加上图片的子目录,比如:
css文件位置:WebRoot/test/css/a.css
图片文件位置:WebRoot/platform/resource/images/icons/a.gif
想要找到共同的根目录就需要用到 "../" 这个路径的意思是上一级目录,如果是两层上级目录,就是 "../../" 那么,按照这种写法的话,a.css中得背景图片css应该这么写:
background:url(../../platform/resource/images/icons/a.gif)
详解:
首先,我们观察这两个文件的位置,可以发现,共同的根目录是WebRoot,
我们首先在a.css的位置找到WebRoot,所以有了"../../" 然后拼接图片的子目录的路径 又有了"platform/resource/images/icons/a.gif" 合在一起后就是上面的结果了。
我想你应该是不太熟悉css中的相对路径和绝对路径:"." 代表当前所在目录,相对路径。如:<a href="./abc">文本</a>或<img src="./abc" />;
".." 代表上一层目录,相对路径。如:<a href="../abc">文本</a>或<img src="../abc"/>;
"../../" 代表的是上一层目录的上一层目录,相对路径。 如:<img src="../../abc" />;
"/" 代表根目录,绝对路径。 如:<a href="/abc">文本</a>或<img src="/abc"/>;
"D:/abc/" 代表根目录,绝对路径。
在使用相对路径时,我们用符号“.”来表示当前目录;用符号“..”来表示当前目录的父目录。
所以,这里应该是background:url(../../images/bgs/backg.png)0 -418px repeat-x