background-size值:cover、100%和contain的区别

作者 : 开心源码 本文共931个字,预计阅读时间需要3分钟 发布时间: 2022-05-13 共660人阅读

background-size 属性规定背景图像的尺寸。
先看看W3C的解释:

background-size:contain;等比缩放,按照某一边来覆盖显示区域的,若区域大于图片的比例,会有白边,图片不会变形

图片右边有空白区域

background-size:100% 100%;—按容器比例撑满,图片变形;

图片被横向拉伸

background-size:100%;相当于background-size:100% auto的写法,y轴根据图片原来的比例,以及现有的宽度,来确定高度。
比如说:你有一张长宽比例为4:3的图片,有一个width:100px;height:50px;的盒子(也就是长宽比例为2:1)。
background-size:100% 100%;这种方式设置完背景图片的大小后,会完全铺满整个盒子,并且背景图片的比例会因而改变为2:1
background-size:100%;这种方式设置的背景图片的大小,x轴会和盒子一样的宽,但是y轴因为默认为auto,根据上面的理论计算得背景图片的高度为300px,但是盒子只有50px高,超出的部分隐藏。
第一种效果你肯定会看到完整的背景图片,但是图片可能变形。
第二种效果你不肯定能看到完整的图片,但是图片的比例没有发生变化。

图片下面部分被裁剪

background-size:cover;—把背景图片放大到适合元素容器的尺寸,图片比例不变,但是要注意,超出容器的部分可能会裁掉。

图片右边被裁剪

总结:

background-size:100%;总是X轴100%铺满整个容器,Y轴可能被裁剪会出现空白填不满部分,图片不变形。
background-size:100% 100%;图片不保持比例放大或者缩小使X轴与Y轴都铺满整个容器,图片可能会变形。
background-size:cover;图片保持比例放大或者缩小使X轴与Y轴都铺满整个容器,但图片超出容器部分会被裁剪掉,图片不变形。
background-size:contain;图片保持比例放大或者缩小填充容器,若不能完整填充容器,X轴或者Y轴都有可能出现白边,图片不变形。

原文作者技术博客:https://www.jianshu.com/u/ac4daaeecdfe

说明
1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 本站资源售价只是摆设,本站源码仅提供给会员学习使用!
7. 如遇到加密压缩包,请使用360解压,如遇到无法解压的请联系管理员
开心源码网 » background-size值:cover、100%和contain的区别

发表回复