background-size

语法:

background-size<bg-size> [ , <bg-size> ]*

<bg-size> = [ <length> | <percentage> | auto ]{1,2} | cover | contain

默认值auto

适用于:所有元素

继承性:无

动画性:是,除非使用值为关键字

计算值:指定值

媒 体:视觉

取值:

<length>
用长度值指定背景图像大小。不允许负值。
<percentage>
用百分比指定背景图像大小。不允许负值。
auto:
背景图像的真实大小。
cover:
将背景图像等比缩放到完全覆盖容器,背景图像有可能超出容器。
contain:
将背景图像等比缩放到宽度或高度与容器的宽度或高度相等,背景图像始终被包含在容器内。

说明:

定义背景图像的尺寸大小
  • 该属性接受1~2个参数值(covercontain关键字只接受一个)。如果提供两个,第一个用于定义背景图像宽度,第二个定义高度;只提供一个,该值用于定义背景图像的宽度,高度将依据图像宽度定义进行等比缩放计算得到。
  • 当属性值为百分比时,参照背景图像的background-origin区域大小进行换算(而不是包含块大小)。

    百分比参照计算:

    .demo {
    	width: 200px;
    	height: 200px;
    	padding: 20px;
    	background-image: url(test.jpg);
    	background-repeat: no-repeat;
    	background-size: 50% 50%;
    }

    因为background-origin的默认值为padding-box(即包含padding),所以此时,背景图像的计算值为:120px 120px

    改变background-origin的取值:

    .demo {
    	background-origin: content-box;
    }

    由于将background-origin设置为了content-box(即内容区域),所以此时,背景图像的计算值为:100px 100px

  • 对应的脚本特性为:backgroundSize

兼容性:

  • 浅绿 = 支持
  • 红色 = 不支持
  • 粉色 = 部分支持
Values IE Firefox Chrome Safari Opera iOS Safari Android Browser Android Chrome
Basic Support 8.0+ 40.0+ 40.0+ 8.0+ 40.0+ 8.0+ 4.4+ 28.0+
Multiple background size 8.0
9.0+

示例:

看完两件小事

如果你觉得这篇文章对你挺有启发,我想请你帮我两个小忙:

  1. 关注我们的 GitHub 博客,让我们成为长期关系
  2. 把这篇文章分享给你的朋友 / 交流群,让更多的人看到,一起进步,一起成长!
  3. 关注公众号:画漫画的程序员,每天早上8点30分准时推送:前端前沿资讯、大厂面试题、程序员轶事、职场感悟等,一起进步!

JS中文网是中国领先的新一代开发者社区和专业的技术媒体,一个帮助开发者成长的社区,目前已经覆盖和服务了超过 300 万开发者,你每天都可以在这里找到技术世界的头条内容。欢迎热爱技术的你一起加入交流与学习,JS中文网的使命是帮助开发者用代码改变世界