繁体   English   中英

CSS 背景图像未加载

[英]CSS Background image not loading

我已经遵循了所有教程,这些教程都说了算。 我在我的 css 样式表中在 body 内指定了我的背景,但页面只显示一个空白的白色背景。 图像与 .html 和 .css 页面位于同一目录中。 教程是这样说的

<body background="image.jpeg">

已弃用,所以我在 css 中使用,

body {background: url('image.jpeg');}

没有成功。 这是整个 css 样式表:

body 
{
background-image: url('nickcage.jpg');
padding-left: 11em;
padding-right: 20em;
font-family:
Georgia, "Times New Roman",
Times, serif; 
color: red;        
}

首先,告别那些引述:

background-image: url(nickcage.jpg); // No quotes around the file name

接下来,如果你的 html、css 和图像都在同一个目录中,那么删除引号应该可以修复它。 但是,如果您的 css 或图像位于 html 所在位置的子目录中,则您需要确保正确路径到图像:

background-image: url(../images/nickcage.jpg); // css and image live in subdorectories

background-image: url(images/nickcage.jpg); // css lives with html but images is a subdirectory

希望能帮助到你。

我遇到过同样的问题。 问题最终是图像文件的路径。 确保图像路径相对于 CSS 文件而不是 HTML 的位置。

这是另一个图像 url 结果..工作正常......我只是放了一个图像路径..请检查它..

菲德尔: http : //jsfiddle.net/287Kw/

body 
{
background-image: url('http://www.birds.com/wp-content/uploads/home/bird4.jpg');
padding-left: 11em;
padding-right: 20em;
font-family:
Georgia, "Times New Roman",
Times, serif; 
color: red;


}

尝试这个

background-image: url("/yourimagefolder/yourimage.jpg"); 

我在使用background-image: url("yourimagefolder/yourimage.jpg");时遇到了同样的问题background-image: url("yourimagefolder/yourimage.jpg");

请注意造成差异的斜线。 文件夹的级别是我无法加载图像的原因。 我猜你也遇到了同样的问题

我遇到了同样的问题。 如果您的图像在文件夹中,请尝试此操作

background-image: url(/resources/img/hero.jpg);

不要忘记将反斜杠放在第一个文件夹的前面。

我想分享我的调试过程,因为我在这个问题上被困了至少一个小时。 运行本地主机时找不到图像。 为了添加一些上下文,我在以下目录中的 rails 应用程序中设置样式:

apps/assets/stylesheets/main.scss

我想在标题标签中呈现背景图像。 以下是我的原始实现。

header {
    text-align: center;
    background: linear-gradient(90deg, #d4eece, #d4eece, #d4eece),
              url('../images/header.jpg') no-repeat;
              background-blend-mode: multiply;
              background-size: cover;
}

...因此,我分别在 Rails 服务器和 Chrome 开发工具中的控制台中收到以下错误:

ActionController::RoutingError (No route matches [GET] "/images/header.jpg")
GET http://localhost:3000/images/header.jpg 404 (Not Found)

我尝试了网址的不同变体:

url('../images/header.jpg') # DID NOT WORK
url('/../images/header.jpg') # DID NOT WORK
url('./../images/header.jpg') # DID NOT WORK

它仍然不起作用。 那时,我很困惑……我决定将图像文件夹从资产目录(这是默认值)移动到样式表目录中,并尝试了以下 url 变体:

url('/images/header.jpg') # DID NOT WORK
url('./images/header.jpg') # WORKED
url('images/header.jpg') # WORKED

我不再收到控制台和 Rails 服务器错误。 但是由于某种原因,图像仍然没有显示。 暂时放弃后,我发现解决这个问题的方法是添加一个高度属性,以便显示图像...

header {
    text-align: center;
    height: 390px;
    background: linear-gradient(90deg, #d4eece, #d4eece, #d4eece),
              url('images/header.jpg') no-repeat;
              background-blend-mode: multiply;
              background-size: cover;
}

不幸的是,我仍然不确定为什么使用“../images/header.jpg”的 3 次初始 url 尝试在 localhost 上不起作用,或者我何时应该或不应该在 url 的开头添加句点。

它可能与如何在 application.html.erb 中设置默认链接标签有关,或者它可能是 .scss 与 .css 的事情。 或者,也许这就是带有 url() 的背景属性的工作方式(图像需要与 css 文件位于同一目录中)? 无论如何,这就是我如何解决未在本地主机上加载 CSS 背景图像的问题。

图像的路径应该是相对的,这意味着如果 css 文件在 css 文件夹中,那么您应该以../开始路径,例如

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

这是因为您必须通过../路径返回主目录,然后返回图像文件的/images/logo.jpg路径。 如果您在 html 本身中包含 css 文件

 body{ background-image: url(images/logo.jpg); }
此代码将正常工作。

对我来说,以下行对我有用,我将它放在我身体的 css 中(其中图像位于我的 css 和 .html 文件所在的同一文件夹中):

background: url('test.jpg');

您必须关心的另一件事是,注意图像扩展名,确保您的图像具有 .jpeg 或 .jpg 扩展名。 谢谢

我发现问题是您不能为图像“img/image.jpg”使用短网址

你应该使用完整的 URL“ http://www.website.com/img/image.jpg ”,但我不知道为什么!!

这是因为background: url('image.jpeg'); 在空白<div>不起作用,请在属于图像<div>的类中使用padding

body 
{
background-image: url('nickcage.jpg');
padding: 30%;
font-family:
Georgia, "Times New Roman",
Times, serif; 
color: red;        
}

我已经为我的 wamp-server-installed apache web 服务器更改了文档根目录。 所以使用相对 url ie (images/img.png) 不起作用。 我必须使用绝对网址才能使其工作,即

background-image:url(" http://localhost/project_x/images/img.png ");

如果您将图像和 css 文件夹放在父目录中,假设资产那么以下代码可以完美运行。 双引号或没有双引号都可以正常工作。

 body{ background: url("../image/bg.jpg"); }

在其他情况下,例如如果您调用类并尝试将背景图像放在特定位置,那么您还必须提及高度和宽度。

在 Chrome 开发者工具中,您可以查看图像是否已加载。 查看检查和使用 css 样式选项卡。 如果图像在那里加载,那么你有一段时间没有添加 css

高度:500px;

图像的属性。

yourselector {
background-image: url("photographer.jpg"); /* The image used */
  background-color: #cccccc; /* Used if the image is unavailable */
  height: 500px; /* You must set a specified height */
  background-position: center; /* Center the image */
  background-repeat: no-repeat; /* Do not repeat the image */
  background-size: cover; /* Resize the background image to cover the entire 
                          container */
}

就我而言,我使用双引号""而不是单引号''

  const styling = {                
//      backgroundImage: `url('${backgroundSrc}')`,  <------ HERE
        backgroundRepeat: "no-repeat",
        backgroundPosition: "center",
        backgroundSize: "cover"        
    }

一些链接中的引号没有被转义,所以它们搞砸了。

使用双引号""代替。 像这样的backgroundImage: `url("${backgroundSrc}")`,

就我而言,它最终成为具有 0px 高度和宽度的 div。 我调整了 div 的大小并看到了我的图像。

我遇到了同样的问题,在阅读本文后发现了问题,这是斜线。 Windows 路径:images\\green_cup.png

有效的 CSS:images/green_cup.png

图像\\green_cup.png 不起作用。

菲尔

以下代码对我有用,我将图像放在 somefolder/assets/img/background_some_img.jpg

background-image: url('../img/background_some_img.jpg');
background-size: cover;
background-repeat: no-repeat;

我可以在这里带来一些帮助......似乎当你使用 say background-image: url("/images/image.jpg"); 或背景图片: url("images/image.jpg"); 或背景图片: url("../images/image.jpg"); 不同的浏览器似乎对此有不同的看法。 第一个浏览器似乎将其视为 domain.com/images/image.jpg .... 第二个浏览器在 domain.com/css/images/image.jpg .... domain.com/PathToImageFile/image.jpg ... 希望这有帮助

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM