当在CSS文件中定义背景图像URL时,当使用相对URL时,它相对于哪里?例如:

假设文件/stylesheets/base-styles.css包含:

div#header { 
    background-image: url('images/header-background.jpg');
}

如果我将这个样式表通过<link…/> CSS文件中的相对URL是否相对于/stylesheets/中的样式表文档或相对于包含它的当前文档?可能的路径如下:

/item/details.html
/about/index.html
/about/extra/other.html
/index.html

当前回答

它相对于CSS文件。

其他回答

尝试使用:

body {
  background-attachment: fixed;
  background-image: url(./Images/bg4.jpg);
}

图片是存放你想要发布的图片的文件夹。

当使用css的自动最小化时,可能会出现一个问题,似乎打破了这一点。缩小包的请求路径可以与原始css的路径不同。这可能会自动发生,所以会引起混乱。

迷你包的映射请求路径应该是“/originalcssfolder/minifiedbundlename”而不是“minifiedbundlename”。

换句话说,将你的包命名为与原始文件夹结构相同的路径(带有/),这样任何外部资源,如字体,图像将被浏览器映射到正确的uri。另一种方法是在css中使用绝对url(refs),但这通常不是可取的。

它相对于样式表,但我建议让URL相对于你的URL:

div#header { 
  background-image: url(/images/header-background.jpg);
}

这样,您就可以移动您的文件,而不需要在将来重构它们。

它相对于CSS文件。

对于CSS样式表,基本URI是样式表的URI,而不是源文档的URI。

(其他任何东西都会坏掉,IMNSHO)