用css写三角形和扇形

279 阅读1分钟

用css怎样写出扇形和三角形呢

1. 三角形

//倒立向下
.sanjiaoxing{
   width:0;
   height:0;
   border-top:30px solid red;
   border-bottom:30px solid transparent;
   border-left:30px solid transparent;
   border-right:30px solid transparent;
}

//向上
.sanjiaoxing{
   width:0;
   height:0;
   border-bottom:30px solid red;
   border-top:30px solid transparent;
   border-left:30px solid transparent;
   border-right:30px solid transparent;
}

//向左
.sanjiaoxing{
   width:0;
   height:0;
   border-right:30px solid red;
   border-bottom:30px solid transparent;
   border-left:30px solid transparent;
   border-top:30px solid transparent;
}

//向右
.sanjiaoxing{
   width:0;
   height:0;
   border-left:30px solid red;
   border-bottom:30px solid transparent;
   border-top:30px solid transparent;
   border-right:30px solid transparent;
}

2. 扇形

<div class="shanxing">
	<div class="sx1"></div>
	<div class="sx2"></div>
</div>

.shanxing {
	position: relative;
	width: 200px;
	height: 200px;
	border-radius: 100px;
	background-color: yellow;
}
.sx1 {
	position: absolute;
	width: 200px;
	height: 200px;
	transform: rotate(0deg);
	clip: rect(0px, 100px, 200px, 0px);
	/*这个clip属性用来绘制半圆,在clip的rect范围内的内容显示出来,使用clip属性,元素必须是absolute的 */
	border-radius: 100px;
	background-color: #f00;
}
.sx2 {
	position: absolute;
	width: 200px;
	height: 200px;
	transform: rotate(0deg);
	clip: rect(0px, 100px, 200px, 0px);
	border-radius: 100px;
	background-color: #f00;
}

/*绘制一个60度扇形*/
.shanxing1 .sx1 {
	transform: rotate(-30deg);
}

.shanxing1 .sx2 {
	transform: rotate(-150deg);
}

/*绘制一个90度扇形*/
.shanxing3 .sx1 {
	transform: rotate(45deg);
}

.shanxing3 .sx2 {
	transform: rotate(-45deg);
}

/*绘制一个颜色扇形 */
.shanxing4 .sx1 {
	transform: rotate(45deg);
	background-color: #fff;
}

.shanxing4 .sx2 {
	transform: rotate(-45deg);
	background-color: #fff;
}