我可以使用CSS3缩放背景吗?

时间:2012-08-03 06:38:03

标签: css css3 transform scale

更具体地说,是否可以使用CSS3的transform:scale(x,y)来缩放平铺的背景图像?

4 个答案:

答案 0 :(得分:2)

虽然您无法使用transform:scale(),但如果您知道所需背景图像的最终大小,则可以使用背景大小来获得相同的效果。

.selector {
    background-image: url(http://path/to/image.png);
    background-size: 200px 100px;
}

但是,如果您总是想要“加倍”用作背景的图像的宽度,那么此时似乎不可能。

编辑请注意,虽然背景大小样式支持基于%的参数,但它不是图像大小的百分比,而是窗口的大小。

答案 1 :(得分:1)

您可以使用:

background-size: 200px;
background-size: 200px 100px;
background-size: 200px 100px, 400px 200px;
background-size: auto 200px;
background-size: 50% 25%;
background-size: contain;
background-size: cover; 

 (or)

img.bg {
    /* Set rules to fill background */
    min-height: 100%;
    min-width: 1024px;

    /* Set up proportionate scaling */
    width: 100%;
    height: auto;

    /* Set up positioning */
    position: fixed;
    top: 0;
    left: 0;
}

@media screen and (max-width: 1024px) { /* Specific to this particular image */
    img.bg {
        left: 50%;
        margin-left: -512px;   /* 50% */
    }
}



       (or)


    #bg {
        position:fixed; 
        top:0; 
        left:0; 

        /* Preserve aspet ratio */
        min-width:100%;
        min-height:100%;
    }

答案 2 :(得分:0)

我不擅长CSS。但只是想法:创建背景div与平铺背景(使用z-index)并缩放它。它应该工作

答案 3 :(得分:0)

是的,你可以扩展它,但尝试使用百分比。

background-size: 100%;

但你需要考虑屏幕的不同分辨率。 4:3 4:9等。

我建议你使用这个jQuery脚本。 jQuery Strech Background