【问题标题】:HTML/CSS - Background Image Not WorkingHTML/CSS - 背景图片不工作
【发布时间】:2014-11-18 05:10:26
【问题描述】:

我的网站需要一张背景图片。我已将其设置在我的 .CSS 文件中,该文件位于子文件夹中。仅当我将 .CSS 文件放在主网站的文件夹中时,背景图像才有效。

我有这些文件夹: _src(html文件源) _src/_img(存储所有图像的位置) _src/_css(我放 style.css 的地方)

在我的 HTML 文件的 head 部分中,我使用 href 等于 _src/_css/style.css

**在我的 .CSS 文件的正文部分,我将背景图像设置为 url _src/_img/red_lines_bg_texture.jpg。

如果我将 .CSS 文件移动到网站的根目录,则背景图像可以正常工作。 奇怪的是,除了背景图像之外,其他所有内容都适用于 .CSS 文件。

任何帮助将不胜感激。

【问题讨论】:

  • ../_img/image.jpg 试试这个相对路径

标签: html css


【解决方案1】:

CSS 中的 URL 总是相对于 .css 文件,除非另有说明,例如,在“/imgdir/img.jpg”中以斜线开头

你的背景图片可以像这样设置一个绝对网址

background-image: url('/_src/_img/red_lines_bg_texture.jpg');

以斜线开头表示您提供的是相对于根目录的路径,而不是相对于 .css 文件的路径。

【讨论】:

  • 引号不重要,就是url开头的斜线
  • 我找到了解决方案。我有以下相对于根目录的目录结构:_src _src_css _src_img。 CSS 文件只能访问与其自身位置相关的文件夹,因此为了访问 _img 文件夹中的文件,我们应该使用相对路径,如下所示: background-image:url("../_img/red_lines_bg_texture.jpg");它终于奏效了。感谢所有试图提供帮助的人。
【解决方案2】:

我找到了解决办法。 我有以下相对于根目录的目录结构:

/_src
/_src/_css
/_src/_img.

CSS 文件只能访问相对于其自身位置的文件夹,因此为了访问 _img 文件夹中的文件,我们应该使用相对路径,如下所示:

背景图片:url("../_img/red_lines_bg_texture.jpg");

终于成功了。

感谢所有试图提供帮助的人。

【讨论】:

  • 这行得通,但它使您在重新组织目录时的灵活性较低。我总是使用 CSS 中图像的绝对路径,除非这些图像与 .css 文件位于同一文件夹或子文件夹中。
  • 你是对的,但我尝试在我的 CSS 文件上使用绝对路径,但它根本不起作用。只是让你知道,我对 MS-DOS 和 Unix 非常熟悉,所以目录结构对我来说不是问题。我已经使用了“/”、“\”和所有可能的方法,但除了这两个选项之外没有任何效果: - 将 CSS 文件保存在根目录,或使用从 CSS 文件位置到图像文件夹位置的相对路径。将来我会花一些时间,一旦我现在做不到,深入研究。
猜你喜欢
  • 2014-09-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-04-07
  • 2014-07-31
  • 1970-01-01
相关资源
最近更新 更多