我已经按照所有教程进行了操作,所有教程都说出来。我在我的css样式表中指定了body中的背景,但页面只显示一个空白的白色背景。 Image与.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;
}
答案 0 :(得分:26)
首先,再见那些引号:
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
希望它有所帮助。
答案 1 :(得分:11)
我有同样的问题。问题最终成为图像文件的路径。确保图像路径相对于CSS文件的位置而不是HTML。
答案 2 :(得分:4)
我遇到了同样的问题。 如果你的图像在文件夹中,那么试试这个
background-image: url(/resources/img/hero.jpg);
别忘了把反斜杠放在第一个文件夹的前面。
答案 3 :(得分:3)
试试这个
background-image: url("/yourimagefolder/yourimage.jpg");
当我使用background-image: url("yourimagefolder/yourimage.jpg");
注意造成差异的斜线。文件夹的级别是我无法加载图像的原因。我猜你也遇到了同样的问题
答案 4 :(得分:2)
这是另一个图片网址结果......工作正常...我只是放了一个图片路径..请检查一下..
Fiddel: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;
}
答案 5 :(得分:2)
对于我来说跟随行是为我工作,我把它放在我的身体的CSS(图像在我的CSS和.html文件的同一文件夹中):
background: url('test.jpg');
您必须关注的其他事项是,请注意图像扩展,确保您的图片具有.jpeg或.jpg扩展名。感谢
答案 6 :(得分:1)
我发现问题是你不能使用短网址来映像&#34; img / image.jpg&#34;
你应该使用完整的网址&#34; http://www.website.com/img/image.jpg&#34;但我不知道为什么!!
答案 7 :(得分:1)
图像的路径应该是相对的,这意味着如果css文件在css文件夹中,那么你应该用 ../ 开始路径,例如
body{
background-image: url(../images/logo.jpg);
}
这是因为您必须通过 ../ 路径然后 /images/logo.jpg 路径返回主目录。 如果你在html本身中包含css文件
body{
background-image: url(images/logo.jpg);
}
答案 8 :(得分:1)
我想分享我的调试过程,因为我被困在这个问题上至少一个小时。运行本地主机时找不到图像。要添加一些上下文,我在以下目录中的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;
}
...因此我分别在Chrome服务器和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
它仍然无效。那时,我非常困惑......我决定将图像文件夹从assets目录(这是默认设置)移动到stylesheets目录中,并尝试了以下网址变体:
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个初始网址尝试无法在localhost上运行,或者当我应该或不应该在开头时添加句点时网址。
它可能与在application.html.erb中设置默认链接标记的方式有关,或者它可能是.scss vs .css。或者,也许这就是url()的背景属性如何工作(图像需要与css文件在同一目录中)?无论如何,这就是我解决了CSS背景图像无法在localhost上加载的问题。
答案 9 :(得分:0)
我更改了wamp-server-installed apache web服务器的文档根目录。所以使用相对网址即(images / img.png)并不起作用。我必须使用绝对URL才能使其工作,即
背景图像:网址(&#34; http://localhost/project_x/images/img.png&#34);
答案 10 :(得分:0)
以下代码对我有用,我将图像放在somefolder / assets / img / background_some_img.jpg
background-image: url('../img/background_some_img.jpg');
background-size: cover;
background-repeat: no-repeat;
答案 11 :(得分:0)
如果将image和css文件夹放在父目录中假设资产,则以下代码可以正常工作。双引号或没有双引号都可以正常工作。
body{
background: url("../image/bg.jpg");
}
&#13;
在其他情况下,如果您打电话给某个班级并尝试将背景图片放在特定位置,那么您还必须提及高度和宽度。
答案 12 :(得分:0)
在 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 */
}
答案 13 :(得分:0)
就我而言,我使用双引号 ""
而不是单引号 ''
const styling = {
// backgroundImage: `url('${backgroundSrc}')`, <------ HERE
backgroundRepeat: "no-repeat",
backgroundPosition: "center",
backgroundSize: "cover"
}
有些链接中的引号没有被转义,所以它们搞砸了。
改用双引号 ""
。像这样
backgroundImage: `url("${backgroundSrc}")`,
答案 14 :(得分:-1)
我遇到了同样的问题,在阅读完之后发现了这个问题,这是斜线。 Windows路径: 图像\ green_cup.png
有效的CSS: 图像/ green_cup.png
images \ green_cup.png不起作用。
菲尔
答案 15 :(得分:-1)
我可以在这里带一点帮助......看来当你使用say background-image:url(“/ images / image.jpg”);或background-image:url(“images / image.jpg”);或background-image:url(“../ images / image.jpg”);不同的浏览器似乎有不同的看法。第一个浏览器似乎将其视为domain.com/images/image.jpg ....浏览器在domain.com/css/images/image.jpg看到的第二个....浏览器看到的最后一个domain.com/PathToImageFile/image.jpg ...希望这有帮助