0

我在根文件夹中有一个 css 文件,它指的是里面的文件,相对于它的路径。

例如 stylesheet.css 和 image.png 在一个文件夹中,调用如下:

background-image:url('image.png');

当我将它附加到 index.html 时,如下所示:

<LINK rel="stylesheet" type="text/css" href="stylesheet.css">

...它加载得很好,但如果想将它附加到子文件夹的文件中:

<LINK rel="stylesheet" type="text/css" href="../template_style.css">

...模板加载,但它实际上是在它启动的 html 文件的文件夹中查找 image.png,而不是从 css 文件本身的文件夹中查找。

有什么解决办法吗?

4

3 回答 3

2

添加 <base href="http://www.example.com/">到您的head

有了这个,你只需要添加:

<link rel="stylesheet" type="text/css" href="stylesheet.css">

stylesheet.css如果是域或子域,则如果您的 css 位于公共根文件夹 ( http://www.example.com/stylesheet.css)中,则 href 必须是

于 2012-04-22T06:09:16.663 回答
1

CSS 相对路径是相对于 CSS 文件本身的,而不是相对于加载 CSS 文件的页面。

我通常将 CSS 文件放在 /css 中,将 CSS 的图像放在 /css/images 中。然后你可以把你的图像相对像:

background-image:url('images/image.png');
于 2012-04-22T06:05:01.570 回答
1
<link rel="stylesheet" type="text/css" href="../(supposed to be subfolders name)/template_style.css">

并且对于相同的图像,如果两者都在同一个文件夹中,请确保 css 和图像都在同一个文件夹或同一个地方。

background-image:url("../image.png");

如果你制作一个单独的图像文件夹,那就太好了。

background-image:url("../folder name/image.png");
于 2012-04-22T06:28:52.520 回答