1. CSS绘制三角形

CSS绘制三角形主要用到的是border属性,也就是边框。

我们平时在给盒子设置边框的时候,往往都设置很窄,就可能误以为边框是由矩形组成的。实际上,border属性是右三角形组成的,下面我们看一个例子:

div {
width: 0;
height: 0;
border: 100px solid;
border-color: orange blue red green;
}

我们将元素的长宽都设置为0,显示出来的效果是这样的:

【CSS】CSS绘制扇形和三角形_css3


所以我们就可以根据border这个特性来绘制三角形:

(1)三角1

div {
width: 0;
height: 0;
border-top: 50px solid red;
border-right: 50px solid transparent;
border-left: 50px solid transparent;
}

【CSS】CSS绘制扇形和三角形_css3_02


(2)三角2

div {
width: 0;
height: 0;
border-bottom: 50px solid red;
border-right: 50px solid transparent;
border-left: 50px solid transparent;
}

【CSS】CSS绘制扇形和三角形_圆角_03


(3)三角3

div {
width: 0;
height: 0;
border-left: 50px solid red;
border-top: 50px solid transparent;
border-bottom: 50px solid transparent;
}

【CSS】CSS绘制扇形和三角形_css_04


(4)三角4

div {
width: 0;
height: 0;
border-right: 50px solid red;
border-top: 50px solid transparent;
border-bottom: 50px solid transparent;
}

【CSS】CSS绘制扇形和三角形_css3_05


(5)三角5

div {
width: 0;
height: 0;
border-top: 100px solid red;
border-right: 100px solid transparent;
}

【CSS】CSS绘制扇形和三角形_css3_06


还有很多,就不一一实现了,总体的原则就是通过上下左右边框来控制三角形的方向,用边框的宽度比来控制三角形的角度。

2. CSS绘制扇形

用CSS实现扇形的思路和三角形基本一致,就是多了一个圆角的样式,首先先实现一个90°的扇形:

div{
border: 100px solid transparent;
width: 0;
heigt: 0;
border-radius: 100px;
border-top-color: red;
}

【CSS】CSS绘制扇形和三角形_css_07


其他方向也类似,这里只实现了90°的扇形,对于任意的角度的扇形后面再补充吧!