css中background-size属性cover、contain、100%的含义案例详解

昨天学前端,看到 css中的background-size属性,忽然对cover、contain属性值有点蒙,具体到底什么显示效果有点糊涂。

看了菜鸟教程的解释,还是不太明白。于是自己做了一个案例来验证,除了background-size:cover、background-size:contain,还有background-size:100% 100%,通过这个案例,总算把这三者的区别弄明白了。现分享给大家,希望对初学者有所帮助。

一、背景区域和背景图像宽高比例相等

在div中,设置其背景图像,如果图像的宽高比例和div区域的宽高比例相等,那么上述三种情况,背景图像都会铺满整个屏幕,显示效果没有什么区别。代码如下:

div{
	background-image: url(img/776_580.png);
	margin: 20px;
	border: 1px solid #FF0000;
	background-repeat: no-repeat;
	width: 1164px;
	height:870px;
}

这里使用的图像宽776px,高580px,div的宽度和高度是图像的1.5倍。
在这里插入图片描述

二、背景区域和背景图像宽高比例不相等

所设计案例完整代码如下:

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>background-size</title>
		<style type="text/css">
			div{
				background-image: url(img/776_580.png);
				margin: 20px;
				border: 1px solid #FF0000;
				background-repeat: no-repeat;
				width: 1080px;  /*div比较宽的情况*/
				height:580px;
				/*width: 776px;
				height:780px;*/  /*div较高的情况*/
			}
			.proportion{
				background-size: 100% 100%;  
			}
			.contain{
				background-size: contain; 
			}
			.cover{
				background-size: cover;/*铺满整个背景区域,图像显示不完整,图像不会变形*/
			}
		</style>
	</head>
	<body>
		<p>
			<img src="img/776_580.png" >
		</p>
		<div class="proportion">
		</div>
		<div class="contain">
		</div>
		<div class="cover">
		</div>
	</body>
</html>

下面是显示效果和对比所得的结论:
在这里插入图片描述background-size: 100% 100%; 图像铺满整个背景区域,图像显示完整,图像有变形,水平方向或垂直方向有拉伸
在这里插入图片描述background-size: contain; 图像不能铺满整个背景区域,区域右方或下方会有空白,图像显示完整,图像不会变形
在这里插入图片描述background-size: cover;图像铺满整个背景区域,图像下端或右端显示不完整,图像不会变形

结合这个案例,再去看菜鸟教程的解释,应该就能清楚地理解它所说的含义了。
在这里插入图片描述

  • 7
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值