background-size
介绍
background-size
设置背景图片大小。图片可以保有原始尺寸,或者拉伸到新的尺寸,或者在保持宽高比的同时缩放到元素的可用空间的尺寸。
取值
cover
缩放背景图片以完全覆盖背景区,可能背景图片部分看不见。和contain
值相反,cover
值尽可能大的缩放背景图像并保持图像的宽高比例(图像不会被压扁)。该背景图以它的全部宽或者高覆盖所在容器。当容器和背景图大小不同时,背景图的 左/右 或者 上/下 部分会被裁剪。contain
缩放背景图片以完全装入背景区,可能背景区部分空白。contain
尽可能的缩放背景并保持图像的宽高比例(图像不会被压缩)。该背景图会填充所在的容器。当背景图和容器的大小的不同时,容器的空白区域(上/下或者左/右)会显示由background-color
设置的背景颜色。默认值 auto
以背景图片的比例缩放背景图片。<length>
指定图片的固定大小。不能为负值。<percentage>
指定图片相对背景区域的百分比。背景区域由background-origin
设置,默认为 CSS 盒模型的内容区与内边距(padding-box)。不能为负值。
背景图大小计算
如果指定了
background-size
的两个值并且不是auto
:
背景图片按指定大小渲染contain
或cover
:
在保留宽高比的同时,尽可能铺满背景区。如果图像没有固定比例(例如gradient
),则忽略此属性,直接铺满整个背景区。一个为
auto
另一个不是auto
:
指定长度的纬度使用固定值大小,auto
对应的纬度通过图像宽高比缩放。
样例:
background-size: contain;
background-size: 50%;
background-size: 3em;
background-size: auto 1em;
background-size: 50% 25%;
1
2
3
4
5
6
7
2
3
4
5
6
7
标准化语法
<bg-size> = [ <length-percentage> | auto ] {1, 2} | cover | contain
1
注意事项(选填)
如果使用渐变色作为背景,并且对它使用了background-size
,不要使用auto
或者只指定一个宽度值。否则背景图的显示可能出现错误。