-
[北京|结业弟子]JS-肖明明2
背景图像显示不全,因为你放背景图片的父元素的高度是一定的,我的解决方式是父元素随宽度增加而增加,
background{width: 100%;
padding-bottom: 45%;
height: 0;
background-image: url(i/5_background.png);
background-repeat: no-repeat;
background-size: 100% auto;
}
这样背景图就显示完全了
编辑于2019-12-21 -
[武汉|荣耀师兄]JS-吴胜1
因为你用的是cover属性,它的作用是把背景图片放大到适合元素容器的尺寸,图片比例不变,但是超出容器的部分可能会裁掉。
除了cover属性,background-size还有一个100% 100%(拓展的有 100% auto, auto 100%)属性,它是按容器的比例来进行填充撑满(注意,可能会变形)。
这里想要显示完全肯定是用的是100%,这里给你讲一讲它的特性,然后你自己摸索调节:
background-size:这个属性有两个值,第一个值为x轴方向的缩放比例或者px,第二个值为y轴方向的缩放比例或者px,如果只写一个值,则第二个值默认为auto(根据图片原来的比例,以及现有的宽度,来确定高度)
比方说:你有一张长宽比例为4:3的图片,有一个width:100px;height:50px;的盒子(也就是长宽比例为2:1)。
background-size:100% 100%;这种方式设置完背景图片的大小后,会完全铺满整个盒子,并且背景图片的比例会因此改变为2:1
background-size:100%;这种方式设置的背景图片的大小,x轴会和盒子一样的宽,但是y轴由于默认为auto,根据上面的理论计算得背景图片的高度为300px,但是盒子只有50px高,超出的部分隐藏,所以看两种写法的效果自然就不一样啦。
第一种效果你一定会看到完整的背景图片,但是有可能被挤压(失去图片原来的比例)
第二种效果你不一定能看到完整的图片,但是图片的比例没有发生变化。
编辑于2019-06-10
- 去第 页