CSS中的相对URL是否真的与文件本身有关?

时间:2015-02-24 02:57:18

标签: css django django-staticfiles

我从W3 docs看到:

  

部分URL相对于样式表的来源进行解释,而不是相对于文档

"文件"指的是HTML文档。

然而,我在相对路径方面看到了一些奇怪的行为。我有一个Django项目,我的静态文件在这个目录结构中:

static/
  css/
    stylesheet.css
  img/
    image.png

stylesheet.css包含

.someclass {
    background: url('<path/to/image.png>')
}

我感到奇怪的是,如果网址为url('../../img/image.png'),则无效,但不适用于url('../img/image.png')。根据我在Stack Overflow(exampleanother example)上看到的类似问题的所有答案,后者是我期望的正确路径 - 实际上,基于如何相对路径通常起作用。

为了对此进行测试,我将网址更改为url('img/image.png'),这会导致浏览器查找/static/css/stylesheet.css/img/image.png

这对我来说似乎很奇怪。这真的是部分URL的意思是相对于样式表的来源&#34;? URL是否相对于 CSS文件本身,而不是其封闭目录?

1 个答案:

答案 0 :(得分:1)

好像你从/static/css/stylesheet.css/网址提供CSS文件(注意最后的/斜杠)。有效网址为/static/css/stylesheet.css