在HTML中指定目录的路径

时间:2013-08-28 00:01:44

标签: html css

我可能会比实际需要更难,但我无法让它发挥作用。我的项目文件夹结构是: -config

-CSS

  • styles.css的

-images

  • background.png

-nbproject

-public_html

  • 的index.html

-test

在我的CSS中,我试图引用background.png文件。我认为上升一级用../表示,所以我有:

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

然后,在index.html文件中,我尝试使用以下方法导入CSS文件:

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

背景没有显示,所以我猜测我正在错误地指定路径。是../不是说'上升到一个级别&#39;

的方式

我正在尝试使用此类应用背景图像:

.body {
 background-image:url(./images/background.png);
}

然后,按如下方式应用CSS:

<body class="body">

3 个答案:

答案 0 :(得分:2)

background-image:url(../images/background.png); <-- this is relative to styles.css

<link rel="stylesheet" type="text/css" href="../css/styles.css"> <-- this is relative to your HTML file

CSS和图像需要位于web根目录中,位于public_html

下面

-nbproject

-public_html /

  • 的index.html

  • CSS /

    • styles.css的
  • 图像/

    • background.png

-test

然后您将使用:

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

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

答案 1 :(得分:1)

../符号确实表示上升一级。但这适用于URL和Web服务器阻止外部受众访问外部世界不应该看到的文件系统部分。

您需要采用

  • 的index.html
  • CSS /
    • styles.css的
  • 图像
    • background.png

并将此文件结构放在public_html

安全

这种机制可以阻止人们做出像

这样的恐怖事件
 http://<your machine name>/../../../etc/passed etc

答案 2 :(得分:0)

您的问题是所有文件都应位于public_html文件夹中,公共HTML无法访问相同级别的公共HTML中的所有其他文件夹。

将所有文件夹移至public_html并在index.html中更改css文件的路径:

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