问答详情
源自:5-3 CSS3背景 background-size

为什么background-size:100% 100%;和background-size:100%;的效果不一样?

.demo {

    background: url(http://static.mukewang.com/static/img/logo_index.png) no-repeat;

    width: 300px;

    height: 140px;

    border: 1px solid #999;

    background-size:100% 100%;

}


提问者:标标哟 2017-01-26 22:29

个回答

  • qq_北方有佳人_0
    2017-01-27 18:02:04
    已采纳

    background-size:这个属性有两个值,第一个值为x轴方向的缩放比例或者px,第二个值为y轴方向的缩放比例或者px,如果只写一个值,则第二个值默认为auto(根据图片原来的比例,以及现有的宽度,来确定高度)

    比方说:你有一张长宽比例为4:3的图片,有一个width:100px;height:50px;的盒子(也就是长宽比例为2:1)。

    1. background-size:100% 100%;这种方式设置完背景图片的大小后,会完全铺满整个盒子,并且背景图片的比例会因此改变为2:1

    2. background-size:100%;这种方式设置的背景图片的大小,x轴会和盒子一样的宽,但是y轴由于默认为auto,根据上面的理论计算得背景图片的高度为300px,但是盒子只有50px高,超出的部分隐藏,所以看两种写法的效果自然就不一样啦。

    第一种效果你一定会看到完整的背景图片,但是有可能被挤压(失去图片原来的比例)

    第二种效果你不一定能看到完整的图片,但是图片的比例没有发生变化。

  • 慕标5142726
    2019-03-16 23:18:14

    这个问题找到好多答案,我知道怎么用,但是真正是看这篇理解透彻的

  • 码农与天使
    2017-11-11 11:40:14

    说的很到位,比一些教程说的清楚多了