HTML正文背景图片不涵盖所有页面

时间:2013-02-05 10:48:27

标签: html css

我正在尝试将背景图像设置为整个html页面但我每次都失败。它不是拉伸。这是我的CSS和HTML代码:

Css代码:

body {
    background-image:url(body_background.png);
    background-repeat: no-repeat;
    background-size: 100% 100%;
    width:1200px;
    margin:0 auto;
}

#main_container_div {
    padding: 0px;
    width: 1000px;
    margin-top: 30px;
    margin-left: 150px;
}

#div2 {
    float: left;
    width: 250px;
    height: 600px;
    margin-top: 0px;
    margin-right: 0px;
    background-repeat: no-repeat;
}
#div3 {
    position: relative;
    float: left;
    width: 750px;
    height: 500px;
    margin-top: 50px;
    overflow: hidden;
}

Html正文:

<body>    
    <div id="main_container_div">
        <div id="div3">
        </div>
        <div id="div2">
        </div>
    </div>
</body>

您可以尝试使用尺寸为1366x768的图像。此外,我在1366x768分辨率上尝试这个。注意问题是在这个或更高分辨率上可见。谢谢你的任何帮助..

8 个答案:

答案 0 :(得分:1)

尝试使用background-size:封面在你的CSS中

background-size:cover;

答案 1 :(得分:1)

不要在体内使用它。像这样在html元素上尝试:

html
{
  background-image: url('your url');
  background-repeat: no-repeat;
  min-height:100%;
}

<html>
  <!--bg is applied here instead -->
  <body>
    ...
  </body>
</html>

答案 2 :(得分:0)

如果要在整页中显示背景,则需要将背景设置为重复。

background-repeat: no-repeat;

background-repeat: repeat-x;

OR

background-repeat: repeat-y;

答案 3 :(得分:0)

background: url(body_background.png) 100% 100% no-repeat;
background-size: cover;

答案 4 :(得分:0)

background-size:cover;

确实有效,但它不支持所有浏览器类型。 这是我过去使用的代码,

section#background { 
    background: url('../img/background/feature.jpg') no-repeat center center; 
    filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='img/background/feature.jpg',sizingMethod='scale'); 
    -ms-filter: "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='img/background/feature.jpg',sizingMethod='scale')"; 
    -webkit-background-size: cover; 
    -moz-background-size: cover; 
    background-size: cover; }

这里是jsfiddler链接

http://jsfiddle.net/Raver0124/3AwHa/1/

答案 5 :(得分:0)

这通常对我有用,因为我通常用html而不是body来做。 这可以正常工作,因为它占用了Web浏览器的整个页面。 ps。我知道这很旧,以为会有所帮助。

html { 
    background: url(images/bg.jpg or whatever link or img here) no-repeat center fixed; 
    background-size:cover;
}

答案 6 :(得分:0)

我刚刚遇到了同样的问题,您可以通过拉伸图像来解决它:

html{
    min-height: 100%;
}

或者保持相同的比例:

body{
    background-size: cover;
    background-attachement: fixed;
}

答案 7 :(得分:0)

就我而言,我通过设置解决了

height: auto

这样,如果内容比竖屏大,它会一直增长,直到把它全部包裹起来。但是你也必须设置

min-height: 100vh

因此,如果内容小于它,背景将增长到占据所有可见的垂直屏幕。