2011-06-19 252 views
7

我想在CSS中使用背景图片,但即使我给出了图像的完整路径,但它不起作用。 Firebug显示“无法加载给定的URL”。 我确定该文件夹中没有权限问题。 我的CSS类是CSS背景图片URL无法加载

body { 
background: url("H:/media/css/static/img/sprites/buttons-v3-10.png") repeat-x scroll left -800px #DCDCDC; 
color: black; 
font: 13px/1.2em arial,helvetica,clean,sans-serif; 
height: 100%; 
position: relative; 
} 

什么可能导致这个问题?

回答

23

您正在使用本地路径。那真的是你想要的吗?如果是,你需要使用file:///前缀:

file:///H:/media/css/static/img/sprites/buttons-v3-10.png 

显然,这将在本地计算机上才起作用。

而且,在许多现代浏览器中,只有当页面本身也位于本地文件路径上时,这才起作用。由于安全原因,从远程寻址本地文件(http://,https://)已被广泛禁用。

9

源的位置应该是URL(相对于CSS文件或全网位置),而不是一个文件系统的完整路径,例如:

background: url("http://localhost/media/css/static/img/sprites/buttons-v3-10.png"); 
background: url("static/img/sprites/buttons-v3-10.png"); 

或者,你可以尝试使用file:///协议前缀。

10

我知道这真的很旧,但我发布我的解决方案,因为谷歌找到这个线程。

background-image: url('./imagefolder/image.jpg'); 

这就是我所做的。两个点意味着钻回一个接近根的目录​​“..”,而一个“。”应该意味着开始你在哪里,就好像它是根。我遇到过类似的问题,但补充说,为我解决了这个问题。你甚至可以离开“。”在它上传到你的主机时,因为它应该工作正常,只要你的目录设置是完全一样的。