在 CSS 文件中定义诸如背景图像 URL 之类的东西时,当使用相对 URL 时,它相对于哪里?例如:
假设文件/stylesheets/base-styles.css包含:
/stylesheets/base-styles.css
div#header { background-image: url('images/header-background.jpg'); }
如果我通过将这个样式表包含到不同的文档中,<link ... />CSS 文件中的相对 URL 是 相对于其中的样式表文档* 还是 相对于它所包含的当前文档 ?可能的路径,如:/stylesheets/ *
<link ... />
/stylesheets/
/item/details.html /about/index.html /about/extra/other.html /index.html
根据W3:
部分 URL 被解释为相对于样式表的来源,而不是相对于文档
因此,在回答您的问题时,它将与/stylesheets/.
如果您考虑这一点,这是有道理的,因为 CSS 文件可以添加到不同目录中的页面中,因此将其标准化为 CSS 文件意味着 URL 将在样式表链接的任何位置起作用。