2014-02-27 93 views
10

你好我试图使用CSS为我的页面使用背景。 图像来自另一个文件夹,我尝试引用她到CSS文件。CSS背景图像URL路径

CSS文件网址是:在/ var/WWW /索菲特/ BO

图像文件的URL是:在/ var/WWW /索菲特/ BO /图片/登录

我的CSS文件:

#login-bg 
{ 

    background-image:url('/images/login/login_background.jpg'); 
    font-size: 20px; 
} 

我的HTML代码:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 

<head> 

<link rel="stylesheet" type="text/css" href="styles.css" /> 

</head> 

<body id="login-bg"> 

<form action="" method="POST"> 

Username: <input type="text" name="username" > 
<br> 
Password: <input type="text" name="password" > 
<br> 
<input type="submit" value="enter"> 

</form> 

</body> 
</html> 

为什么我不能看到我的背景图片?

+1

主要的正斜杠是问题。 –

+1

您是否尝试过不使用前导斜杠? 'background-image:url('images/login/login_background.jpg');' –

+1

为了将来的参考,如果你在浏览器开发工具中查看网络检查器,你将能够看到浏览器试图读取的完整路径。 –

回答

17

从图像中删除的URL前导正斜线,如下所示:

#login-bg { 
    background-image:url('images/login/login_background.jpg'); 
    font-size: 20px; 
} 

通过使用前导正斜线,浏览器尝试从域的web根目录加载图像(例如/var/www/ )而不是当前(CSS)文件位置。

+3

你可能应该解释_why_这是问题。正斜杠告诉浏览器查找与当前目录相同级别的目录。删除正斜杠会告诉浏览器在文件的当前目录中查找一个目录。 –

+0

@KyleShevlin绝对,我在编辑帖子:)无论如何谢谢。 – Mimi

+0

@dasdasd别提了:) – Mimi

6

试试这个:

#login-bg 
{ 

    background-image:url('images/login/login_background.jpg'); 
    font-size: 20px; 
} 

使用斜杠“/”在路线的起点使得它的绝对路径,而不是相对路径,这是你想要的。

+0

从技术上讲,正确的语法是一个前导点斜线''./ images/login/login_background.jpg'' – Misunderstood

+0

@Misunderstood表示当前目录的点是Unix的东西。我甚至不确定这是URI规范的一部分。 – devios1

+0

我纠正了,它确实是URI规范的一部分。然而,从技术上讲,它没有前导斜杠,所以它在技术上不再是“正确的”,事实上它在网络上如此晦涩,我建议避免它。 – devios1

1

只写

background-image:url('images/login/login_background.jpg'); 

当你写/图片这意味着图像文件夹从网站的根目录到来。在这种情况下这是不正确的。