我只是想设置我的背景,但这个图像不起作用。它的大小在 15 到 20MB 之间,所以我试着把它变成 5MB。仍然没有运气。我制作了一个非常小的图像,大小为 25 KB,并且效果很好,但只是重复了一遍。我的本地主机也不会显示大图像。有什么限制吗?我需要做什么才能获得完整的图像页面?
body {
background-image:url(background.jpg);
}
我只是想设置我的背景,但这个图像不起作用。它的大小在 15 到 20MB 之间,所以我试着把它变成 5MB。仍然没有运气。我制作了一个非常小的图像,大小为 25 KB,并且效果很好,但只是重复了一遍。我的本地主机也不会显示大图像。有什么限制吗?我需要做什么才能获得完整的图像页面?
body {
background-image:url(background.jpg);
}
这样做是为了避免重复图像:
body
{
background-image:url(background.jpg);
background-repeat:no-repeat;
}
你也可以background-size: cover
这样尝试:
body
{
background-image: url("http://www.google.com/doodle4google/images/carousel-winner2012.jpg");
background-repeat: no-repeat;
background-position: center center;
-moz-background-size: cover;
-webkit-background-size: cover;
-o-background-size: cover;
background-size: cover;
background-attachment: fixed;
}
这是 JS Bin 的一个演示,使用漂亮的Doodle 4 Google作为背景图像来测试行为:
您需要为 body 指定宽度和高度。例如:
html, body {
width: 100%;
height: 100%;
}
您可以使用速记background
css 属性:
background: url(background.jpg) no-repeat;
此外,您body
的高度可能不是 100%,因为您的页面上没有内容。要么给你的html
和body
100% 的高度,要么给你的页面添加更多的内容。
要使背景图像覆盖其整个容器,请使用background-size:
background-size: cover;
IE8 及更低版本不支持此功能。对于那些浏览器,您需要一个 javascript 后备。css-tricks.com 上有一篇很棒的文章,展示了不同的技术。
您不应该对背景图像有任何“大小”限制。很可能,您的文件太大,以至于您没有等待足够长的时间来加载它,或者您没有设置宽度和高度。如果没有尺寸,您尝试加载背景图像的元素 tahat 基本上将具有 0px x 0px 的大小。请参阅以下 jsfiddle 示例:
的HTML:
<div class="container"></div>
CSS:
.container {
width: 400px;
height: 100px;
background-image: url(http://dummyimage.com/400x100/4d494d/686a82.gif&text=background+image);
background-repeat: none;
background-position: 0 0;
}
重要提示:如果您希望将图像“拉伸”到视口的全尺寸,一个简单的解决方案是使用插件,例如Backstretch。