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

编程知识 更新时间:2023-04-06 07:56:21

昨天学前端,看到 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;图像铺满整个背景区域,图像下端或右端显示不完整,图像不会变形

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

更多推荐

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

本文发布于:2023-04-06 07:56:00,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/b5196759182d10ccb7a0105d65c06663.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:详解   含义   属性   案例   css

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!

  • 48769文章数
  • 14阅读数
  • 0评论数