【问题标题】:Are relative URLs in CSS really relative to the file itself?CSS 中的相对 URL 真的与文件本身相关吗?
【发布时间】:2015-04-25 13:59:22
【问题描述】:

我从W3 docs 看到:

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

“文档”指的是 HTML 文档。

但是,我看到一些关于相对路径的奇怪行为。我有一个 Django 项目,我的静态文件位于此目录结构中:

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

stylesheet.css 包含

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

让我感到奇怪的是,如果 URL 是 url('../../img/image.png'),这可以工作,但不适用于 url('../img/image.png')。后者是我所期望的正确路径,基于我在 Stack Overflow(exampleanother example)上看到的类似问题的所有答案——实际上,基于相对路径的一般工作方式。

为了测试这一点,我将 URL 更改为 url('img/image.png'),这会导致浏览器查找 /static/css/stylesheet.css/img/image.png

这对我来说似乎很奇怪。这真的是“相对于样式表的来源”的部分 URL 的含义吗? URL 是否相对于 CSS 文件本身,而不是相对于其封闭目录?

【问题讨论】:

    标签: css django django-staticfiles


    【解决方案1】:

    似乎您从 /static/css/stylesheet.css/ 网址提供 CSS 文件(注意末尾的 / 斜杠)。有效网址为/static/css/stylesheet.css

    【讨论】:

      猜你喜欢
      • 2011-02-12
      • 2018-01-17
      • 2014-09-05
      • 2017-10-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多