CSS:将背景图像拉伸到100%宽度和高度的屏幕?

时间:2014-04-05 22:14:35

标签: html css background-image

我有一张名为myImage.jpg的图片。这是我的CSS:

body {
    background-image:url("../images/myImage.jpg");
    background-repeat: no-repeat;
    background-size: 100% 100%;
}

出于某种原因,当我这样做时,myImage的宽度会延伸到整个屏幕,但高度只会延伸到页面上其他所有内容的高度。所以,如果我把一堆

<br>

在我的html页面中,然后高度会增加。如果我的HTML页面只包含

<div id='header'>
    <br>
</div>

然后背景图像的高度就是一个

的高度
<br>

如何将背景图像的高度设置为用户用于查看网页的屏幕的100%?

4 个答案:

答案 0 :(得分:104)

您需要将html的高度设置为100%

body {
    background-image:url("../images/myImage.jpg");
    background-repeat: no-repeat;
    background-size: 100% 100%;
}
html {
    height: 100%
}

http://jsfiddle.net/8XUjP/

答案 1 :(得分:49)

如果您不希望自己的背景失去比例,我会建议background-size: cover;JS Fiddle

html { 
  background: url(image/path) no-repeat center center fixed; 
  -webkit-background-size: cover;
  -moz-background-size: cover;
  -o-background-size: cover;
  background-size: cover;
}

来源:http://css-tricks.com/perfect-full-page-background-image/

答案 2 :(得分:5)

html, body {
    min-height: 100%;
}

会做的伎俩。

默认情况下,即使是html和body也只有它们所拥有的内容一样大,但绝不会超过窗口的宽度/高度。这通常会导致非常奇怪的结果。

您可能还想阅读http://css-tricks.com/perfect-full-page-background-image/

有一些很好的方法可以实现非常好且可扩展的完整背景图像。

答案 3 :(得分:3)

vh单元可用于填充视口(也称为浏览器窗口)的背景。 (height:100vh;)

html{
    height:100%;
    }
.body {
     background: url(image.jpg) no-repeat center top; 
     background-size: cover; 
     height:100vh;     
}