使用CSS将背景图像居中

时间:2010-04-15 07:02:18

标签: css

我想将背景图像居中。没有使用div,这是CSS样式:

body{
    background-position:center;
    background-image:url(../images/images2.jpg) no-repeat;
}

上面的CSS平铺并且确实居中,但是没有看到一半的图像,它只是向上移动。我想要做的是使图像居中。即使在21英寸的屏幕上我也可以采用图像进行查看吗?

13 个答案:

答案 0 :(得分:257)

background-image: url(path-to-file/img.jpg);
background-repeat:no-repeat;
background-position: center center;

这应该有效。

如果没有,为什么不对图片制作div并使用z-index将其作为背景?这比身体上的背景图像更容易居中。

除此之外尝试:

background-position: 0 100px;/*use a pixel value that will center it*/或者,如果您将自己的身体min-height设置为100%,我认为您可以使用50%。

body{

    background-repeat:no-repeat;
    background-position: center center;
    background-image:url(../images/images2.jpg);
    color:#FFF;
    font-family:Arial, Helvetica, sans-serif;
    min-height:100%;
}

答案 1 :(得分:18)

我使用此代码,效果很好

html, body {
  height: 100%;
  width: 100%;
  padding: 0;
  margin: 0;
  background: black url(back2.png) center center no-repeat;;
-webkit-background-size: cover;
-moz-background-size: cover;
-o-background-size: cover;
background-size: cover;
}

答案 2 :(得分:15)

我认为this是我们想要的:

body
{
    background-image:url('smiley.gif');
    background-repeat:no-repeat;
    background-attachment:fixed;
    background-position:center;
} 

答案 3 :(得分:7)

尝试

background-position: center center;

答案 4 :(得分:4)

像这样:

background-image:url(https://upload.wikimedia.org/wikipedia/commons/thumb/8/8b/Dore_woodcut_Divine_Comedy_01.jpg/481px-Dore_woodcut_Divine_Comedy_01.jpg);
background-repeat:no-repeat;
background-position: center;
background-size: cover;



html{
height:100%
}

body{
background-image:url(https://upload.wikimedia.org/wikipedia/commons/thumb/8/8b/Dore_woodcut_Divine_Comedy_01.jpg/481px-Dore_woodcut_Divine_Comedy_01.jpg);
background-repeat:no-repeat;
background-position: center;
background-size: cover;
}




答案 5 :(得分:3)

您的代码中存在错误。您在background-image属性上使用了完整语法和简写表示法的混合。这导致无重复被忽略,因为它不是background-image属性的有效值。

body{   
    background-position:center;
    background-image:url(../images/images2.jpg) no-repeat;
}

应该成为以下之一:

body{
    background:url(../images/images2.jpg) center center no-repeat;
}

body
{
    background-image: url(path-to-file/img.jpg);
    background-repeat:no-repeat;
    background-position: center center;
}

编辑:对于图片“缩放”问题,您可能需要查看this question's answer

答案 6 :(得分:2)

试试这个background-position: center top;

这将为你解决问题。

答案 7 :(得分:2)

background-repeat:no-repeat;
background-position:center center;

使用html 4.01' STRICT'时,不会使背景图像垂直居中。 DOCTYPE。

添加:

background-attachment: fixed;

应该解决问题

(所以亚历山大是对的)

答案 8 :(得分:0)

如果您对上述答案不满意,请使用此

    * {margin: 0;padding: 0;}

    html
    {
        height: 100%;
    }

    body
    {
        background-image: url("background.png");
        background-repeat: no-repeat;
        background-position: center center;
        background-size: 80%;
    }

答案 9 :(得分:0)

有同样的问题。使用过的显示和边距属性,它起作用了。

.background-image {
  background: url('yourimage.jpg') no-repeat;
  display: block;
  margin-left: auto;
  margin-right: auto;
  height: whateveryouwantpx;
  width: whateveryouwantpx;
}

答案 10 :(得分:0)

简单地替换

background-image:url(../images/images2.jpg) no-repeat;

background:url(../images/images2.jpg)  center;

答案 11 :(得分:0)

background-position: center center;

没有...对我不起作用

background-attachment: fixed;

同时使用我的图片在x和y轴上居中

background-position: center center;
background-repeat: no-repeat;
background-attachment: fixed;

答案 12 :(得分:-2)

唯一对我有用的是......

margin: 0 auto