CSSbackground-sizecontain与cover的区别
最近在重温CSS,发现好多东西都忘了,⽐如background-size属性中,contain与cover的区别。
菜鸟教程上是这么说的:
有点难理解,通俗解释就是:两者均以保持图像宽⾼⽐的形式缩放来适合背景容器的⼤⼩。
那么两者的区别呢?这就要根据图像是否重复来分别讨论了。
在no-repeat情况下,如果容器宽⾼⽐与图⽚宽⾼⽐不同,
cover:图⽚宽⾼⽐不变、铺满整个容器的宽⾼,⽽图⽚多出的部分则会被截掉;
contain:图⽚⾃⾝的宽⾼⽐不变,缩放⾄图⽚⾃⾝能完全显⽰出来,所以容器会有留⽩区域;
其实,从英⽂的意思来说:cover意味着“遮罩、遮盖”---此处理解为“塞满”较恰当,contain意为“包含”--也就是:我图⽚虽然缩放了,但是整个图是被“包含”在你⾥⾯的,你必须把我显⽰完整、不能裁剪我⼀丝⼀毫。
在repeat情况下:cover:与上述相同;contain:容器内⾄少有⼀张完整的图,容器留⽩区域则平铺背景图,铺不下的再裁掉。