用CSS伪类实现三角形

导读:本篇文章讲解 用CSS伪类实现三角形,希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com

1.实心三角形

效果图:
效果图

代码:

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
		<style type="text/css">
			.triangle_top,
			.triangle_bottom,
			.triangle_left,
			.triangle_right{
				width: 100px;
				height: 100px;
				background: #06AC68;
				margin: 20px;
				position: relative;
				float: left;
				border-radius: 10px;
			}

			.triangle_top:before {
				content: "";
				width: 0px;
				height: 0px;
				border-left: 10px solid transparent;
				border-right: 10px solid transparent;
				border-bottom: 10px solid #CCCCCC;
				position: absolute;
				top: -10px;
				left: 42px;
			}

			.triangle_bottom:before {
				content: "";
				width: 0px;
				height: 0px;
				border-top: 10px solid #CCCCCC;
				border-left: 10px solid transparent;
				border-right: 10px solid transparent;
				position: absolute;
				top: 100px;
				left: 42px;
			}

			.triangle_right:before {
				content: "";
				width: 0px;
				height: 0px;
				border-top: 10px solid transparent;
				border-bottom: 10px solid transparent;
				border-left: 10px solid #CCCCCC;
				position: absolute;
				top: 42px;
				right: -10px;
			}

			.triangle_left:before {
				content: "";
				width: 0px;
				height: 0px;
				border-top: 10px solid transparent;
				border-bottom: 10px solid transparent;
				border-right: 10px solid #CCCCCC;
				position: absolute;
				top: 40px;
				left: -10px;
			}
		</style>
	</head>
	<body>
		<!--三角形在上-->
		<div class="triangle_top"></div>
		
		<!--三角形在下-->
		<div class="triangle_bottom"></div>
		
		<!--三角形在左-->
		<div class="triangle_left"></div>
		
		<!--三角形在右-->
		<div class="triangle_right"></div>
		
	</body>
</html>

2.空心三角形

效果图:
效果图
代码:

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
		<style type="text/css">
			.triangle{
			    width:200px;
			    height:100px;
			    position: relative;
			    margin:50px auto;
			    border:1px solid red;
			}
			.triangle:before{
			    content:"";
			    border:10px solid transparent;
			    border-bottom-color:black;
			    position:absolute;
			    left:20px;
			    top:0;
			    margin-top:-20px;
			}
			.triangle:after{
			    content:"";
			    border:10px solid transparent;
			    border-bottom-color:white;
			    position: absolute;
			    top:0;
			    left:20px;
			    margin-top:-19px;
			}
		</style>
	</head>
	<body>
		<div class="triangle"></div>
	</body>
</html>

总结:三角形往哪个方向,哪个方向就无需设置border,而相反方向设置border颜色,相邻两边的border设为透明。

①实心三角形利用CSS中的伪元素(:before)实现,再利用border的transparent属性即可达到效果。
②空心三角形是在空心三角形的基础上再加上伪元素(:after)实现。
伪元素(:before)实现的是一个实心的三角形,伪元素(:after)实现的是空心的三角形,把实心的三角形覆盖,从而达到空心的效果。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/96039.html

(0)
小半的头像小半

相关推荐

极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!