css背景图片,在不同的分辨率下,显示不全

问题背景

今天遇到一个很奇怪的问题,css背景图,在同事电脑上,显示不全

企业微信截图_17084844351310.png

正常应该是这样的

image.png

分析原因

首先我们来看下之前的代码

.dtc-logo{
    width 91px
    min-width 91px
    height 55px
    background url('https://xxxx/image/xxxx.png')
    background-size: cover;
    margin-right 20px
}

对背景图片使用了background-size: cover之后,分辨率的不同,背景图片会出现显示不全的情况。

因为用的是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高,超出的部分隐藏,所以看两种写法的效果自然就不一样啦。

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

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

解决方案

改后的代码

.dtc-logo{
    width 90px
    min-width 90px
    height 55px
    background-image url('https://xxxx/image/xxxx.png')
    background-repeat: no-repeat;
    background-size: 100% auto;
    margin-right 20px
}

一个小知识点,供以后查漏补缺~

  • 4
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 想要实现网页背景图片自适应全屏,可以使用CSS中的background-size属性。该属性可以控制背景图片的大小,使其适配网页大小。 具体实现方法如下: 1. 在CSS样式表中设置背景图片,可以使用background-image属性。 2. 设置背景图片的repeat属性为no-repeat,防止背景图片重复显示。 3. 设置背景图片的位置,可以使用background-position属性。 4. 将背景图片的宽度和高度设置为100%。 5. 使用background-size属性将背景图片拉伸或缩放,使其适应浏览器的大小。可以使用cover属性来保持纵横比并覆盖整个区域,或使用contain属性来适应区域并保持纵横比。 举个例子,比如你想要设置一个背景图片,宽度为100%、高度为100%,并且保持纵横比,可以使用以下CSS代码: body { background-image: url('yourimage.jpg'); background-repeat: no-repeat; background-position: center center; background-attachment: fixed; background-size: cover; } 其中,background-attachment属性可以使背景图片固定在页面中,在滚动页面时可以保持背景不变,同时也可以使用background-size: cover属性实现自适应全屏的效果。 以上就是CSS实现网页背景图片自适应全屏的方法。通过简单的CSS样式设置,可实现网站背景图片不同设备和分辨率下的适应,达到更好的用户体验。 ### 回答2: 在开发网页时,网页背景图片作为网页设计中的重要一环,其在网站视觉效果和用户体验方面都起到了重要作用。然而,网页背景图片的大小与设备屏幕分辨率之间的不匹配可能会导致在某些设备上显示不佳。因此,在此我们介绍一下如何使用CSS实现网页背景图片自适应全屏的方法。 1. 使用CSS3的background-size属性 background-size属性能够自动调整图片的大小,以适应元素的大小。我们可以在CSS文件中将background-size属性设置为"cover"。这意味着图片将被拉伸并调整大小,以适应整个元素的大小。使用此方法,在任何分辨率下,图片始终保持其纵横比。 ``` css body { background-image: url('bg.jpg'); background-size: cover; background-repeat: no-repeat; } ``` 其中,background-repeat属性设置为"no-repeat",以确保图片不会在屏幕上重复出现。 2. 将背景图片设置为页面的fixed定位 通过将背景图片设置为fixed定位,可以使图片不随页面内容滚动,而是固定在网页视口中。这个方法可以通过以下代码实现: ``` css body { background-image: url('bg.jpg'); background-attachment: fixed; background-position: center; background-repeat: no-repeat; background-size: cover; } ``` 其中,background-position属性将图片设置为居中位置,以便任何大小的屏幕都可以将图片居中。 总之,以上两种方法都可以很好的实现网页背景图片自适应全屏,让网站在任何设备上都能够有良好的视觉效果和用户体验。同时,在开发网站时,我们还需要注意图片的质量和大小,以避免影响网站的加载速度和性能。 ### 回答3: CSS实现网页背景图片自适应全屏的方法是通过设置背景图片的属性和样式,使其适应不同大小的屏幕。 首先,我们需要设置背景图片的属性background-size为cover,这样图片会自动缩放以填满整个屏幕,并保持比例。 其次,我们需要设置背景图片的位置属性background-position为center center,这样图片可以始终保持在屏幕中央,并不会被拉伸或压缩。 然后,我们还可以设置其他样式,如背景颜色、重复方式等。 最后,在HTML文档中引入这个CSS文件,即可实现网页背景图片的自适应全屏。 以下是CSS的代码示例: body { background-image: url('bg.jpg'); background-size: cover; background-position: center center; background-repeat: no-repeat; background-color: #f5f5f5; /*可选背景颜色*/ } 总之,通过使用CSS让网页背景图片自适应全屏,可以增加网站的视觉效果和用户体验,使网页更加吸引人。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值