我在根文件夹中有一个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文件本身的文件夹中查找。
有没有解决这个问题?
答案 0 :(得分:2)
添加
<base href="http://www.example.com/">
head
有了这个,你只需要添加:
<link rel="stylesheet" type="text/css" href="stylesheet.css">
如果是域或子域,如果您的css位于公共根文件夹(stylesheet.css
)内,则href必须为http://www.example.com/stylesheet.css
答案 1 :(得分:1)
CSS相对路径是相对于CSS文件本身而不是加载CSS文件的页面。
我通常将我的CSS文件放在/ css中,将CSS的图像放在/ css / images中。然后你可以把你的图像相对像:
background-image:url('images/image.png');
答案 2 :(得分: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");