CSS 中的条纹背景

第一种  纵向条纹

  可以通过background的liner-gradient实现

background: linear-gradient(#000 30%, #58a 60%,#dfd 0);

参数的形式就是颜色和占比,最后一个的占比可以设置为0,因为浏览器会自动用最后一个的值补全

再用 background-size调整大小,实现条纹,应为浏览器自动平铺背景

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title></title>
		<style type="text/css">
			.dd {
				position: absolute;
				left: 500px;
				top: 30px;
				width: 400px;
				height: 200px;
				background: linear-gradient(#000 30%, #58a 60%,#dfd 0);
				background-size: 100% 20%;
			}
		</style>
	</head>
	<body>
		<div class="dd"></div>
	</body>
</html>

  

 

 

 

第二种  垂直条纹

  实现原理就是用liner-gradient的第一个参数可以设置方向或者说角度,比如说如果要实现垂直条纹,可以使用to right 或者 90deg 

background: linear-gradient(to right,#000 30%, #58a 60%,#dfd 0);
<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title></title>
		<style type="text/css">

			.dd2 {
				position: absolute;
				left: 500px;
				top: 260px;
				width: 400px;
				height: 200px;
				background: linear-gradient(to right,#000 30%, #58a 60%,#dfd 0);
				background-size: 20% 100%;
			}

		</style>
	</head>
	<body>
		<div class="dd2"></div>
	</body>
</html>

  

 

 

第三种  斜向条纹

 

  原理和垂直条纹一样,只需要设置为任意角度就可以了

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title></title>
		<style type="text/css">
			.dd3 {
				position: absolute;
				left: 500px;
				top: 500px;
				width: 400px;
				height: 200px;
				background: linear-gradient(45deg,#000 30%, #58a 60%,#dfd 0);
				background-size: 20% 20%;
			}
		</style>
	</head>
	<body>
		<div class="dd3"></div>
	</body>
</html>

  

 

 但是这样是不是很丑,所以不是我们想要的

我们想要其实是这种效果,是不是更好

 

 虽然我颜色没选好,但是话粗理不粗,相信都懂我的意思吧

但是怎么实现呢

先看看这个

 

 

这一小块,包含了四条条纹,这样才可以无缝连接,但是条纹宽度怎么计算呢

这就是简单的等腰指教三角形求高,根据div的宽度或者高度计算三角形的腰,就可以计算出background-size的大小

代码如下

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title></title>
		<style type="text/css">
			.dd3 {
				position: absolute;
				left: 500px;
				top: 500px;
				width: 400px;
				height: 200px;
				background: linear-gradient(45deg,#000 25%, #58a 0,#58a 50%,#000 0,#000 75%,#58a 0);
				background-size: 43px 43px;
			}
		</style>
	</head>
	<body>
		<div class="dd3"></div>
	</body>
</html>

  但是这样是不是很麻烦,每次都要计算,所以有了一个更好的属性

直接贴代码了

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title></title>
		<style type="text/css">
			.dd4 {
				position: absolute;
				left: 500px;
				top: 750px;
				width: 400px;
				height: 200px;
				background: repeating-linear-gradient(45deg,#000 20px, #58a 50px);
			}
		</style>
	</head>
	<body>
		<div class="dd4"></div>
	</body>
</html>

  效果如下

 

posted @ 2019-11-04 15:11  qgr678  阅读(797)  评论(0编辑  收藏  举报