相对路径不适用于css中的图像

时间:2010-05-20 13:16:24

标签: php css apache path relative

我有以下文件结构:

C:/wamp/myproject/admin/webroot/images

我有一个位于admin文件夹中的index.php文件,该文件调用位于同一文件夹中的header.inc.php文件。 header.inc.php具有以下代码 -

<td align="left" valign="top" class="header-bg">
<table width="100%" border="0" cellspacing="0" cellpadding="0">

index.php通过以下代码调用css文件(css.css):

<link href="<?php echo (WS_DIR_CSS); ?>/css.css" rel="stylesheet" type="text/css" />

css位于以下位置: C:/wamp/myproject/admin/webroot/css

css文件有一个类,其中包含以下代码:

.header-bg {
  background:url(../images/header_bg.jpg) left top repeat-x;
  height:77px;
}

图片 header_bg.jpg 未在浏览器中显示。帮助任何人?

4 个答案:

答案 0 :(得分:7)

相对于css包含图像

如果你的形象住在这里......

/images

你的css住在这里......

/somefolder/css/style.css

那么规则就是

background-image:url( ../../images/header_bg.jpg );

你能用firebug检查元素吗?是否存在可能重新路由请求的重写规则?你对图像有读权限吗?

答案 1 :(得分:2)

图片header_bg.jpg未在浏览器中显示。

有一百种可能的原因:从您的浏览器设置到阻止图像,文件系统权限拒绝服务器上的读取访问权限。在不知道几个更重要的细节的情况下,一个好的开始是弄清楚你是否浏览器甚至试图获得图像。这就是Firebug(通过Firefox附加组件)或其他类似浏览器插件的用武之地。

答案 2 :(得分:0)

查看服务器日志以查看实际请求的文件。你很可能在整个过程中将你的网址混淆了。

答案 3 :(得分:-3)

相对寻址不符合设计要求 这就是人们应该使用绝对地址的原因。

  1. 让自己知道相对于网站根目录的实际header_bg.jpg地址是什么 例如/images/header_bg.jpg
  2. 使用该地址 有或没有WS_DIR_CSS助手,但在HTML代码中,它必须是/images/header_bg.jpg或绝对地址。