2010-03-08 97 views
5

在当中我的CSS我有以下几点:CSS背景图片的路径问题

#framecontentTop{ 
position: absolute; 
top: 0; 
left: 120px; 
right: 0; 
height: 100px; 
overflow: hidden; 
background-image: url(/Users/myname/Website Project/logo.jpg); 
color: white; 
}

凡路径我想使用的图像作为背景图像是/ Users/MYNAME /网站项目/标志.jpg

但是,当我把ID framecontentTop放在我的div中时,它不会显示图像(或者其他任何东西)作为背景。 CSS中没有其他div与它冲突,当我将framecontentTop的背景设置为一种颜色或将其保留为图像,但将URL作为一些随机图像联机时,它会加载它。所以我只能假设问题在于我如何指定图像的路径 - 任何人都可以看到我在这里做错了什么?

非常感谢

回答

13

如果您有任何特殊字符,它们应该被转义,或在空白的情况下,至少引用,这样:

background-image: url("/Users/myname/Website Project/logo.jpg"); 

您可以看到W3C Spec的全部要求。

出现在一个没有引号的URI中的某些字符,如括号,逗号,空格字符,单引号(')和双引号(“),必须用反斜杠转义使得所得URI值是一个URI token:'(',')','\,'

+0

谢谢,我和Jesse在上面建议的一起尝试了这个,我仍然得到相同的结果(缺少结果)! – Deacon 2010-03-08 22:46:50

+0

@Deacon - 如果你的图像位于路径www.mysite.com/Users/myname ....? – 2010-03-08 22:48:31

+0

@Nick - 不,这一切仍然是本地的,所以它的路径是file:/// Users/myname ... ... – Deacon 2010-03-08 22:51:17

3

您正在使用,将永远解决您的服务器在同一个URL的绝对路径。如果它在元素A中有效,但在元素B中不起作用,那么问题可能不在于URL,而是另一个backgroundbackground-image设置干扰。

我会使用Firebug的“检查元素”功能来查明是否有其他背景设置优先。

网址与空间应该总是在引号的方式:

background-image: url("/Users/myname/Website Project/logo.jpg");