1

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

-css

  • 样式.css

-图片

  • 背景.png

-nb项目

-public_html

  • 索引.html

-测试

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

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

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

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

背景没有出现,所以我猜我指定的路径不正确。../ 不是说“上一级”的方式吗?

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

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

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

<body class="body">
4

3 回答 3

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 下

-nb项目

-public_html/

  • 索引.html

  • css/

    • 样式.css
  • 图片/

    • 背景.png

-测试

然后你会使用:

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

<link rel="stylesheet" type="text/css" href="css/styles.css">
于 2013-08-28T00:04:34.133 回答
1

../符号确实代表上升一个级别。但这是针对 URL 的,Web 服务器阻止外部访问者访​​问外部世界不应该看到的文件系统部分。

你需要采纳

  • 索引.html
  • css/
    • 样式.css
  • 图片
    • 背景.png

并将这个文件结构放在 public_html 下

安全

这种机制可以阻止人们做类似的恐怖

 http://<your machine name>/../../../etc/passed etc
于 2013-08-28T00:06:36.480 回答
0

您的问题是所有文件都应该在public_html文件夹中,公共 html 同一级别中的所有其他文件夹都不能被公共访问。

将所有文件夹移动到public_htmlindex.html 中并更改 css 文件的路径:

 <link rel="stylesheet" type="text/css" href="css/styles.css">
于 2013-08-28T00:06:11.753 回答