【背景图片,在不同的分辨率下,显示不全。 _布局 _css概念 】 | IT修真院·坑乎
问题已收录 背景图片,在不同的分辨率下,显示不全。
我也踩过这个坑( 3 )
已统计您的踩坑,无需重复点击
回答(2)
布局 css概念
详细描述
截图
代码
编辑于2024-05-23
  • [北京|结业弟子]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