【CSS】CSS绘制扇形和三角形
原创
©著作权归作者所有:来自51CTO博客作者前端充电宝的原创作品,请联系作者获取转载授权,否则将追究法律责任
1. CSS绘制三角形
CSS绘制三角形主要用到的是border属性,也就是边框。
我们平时在给盒子设置边框的时候,往往都设置很窄,就可能误以为边框是由矩形组成的。实际上,border属性是右三角形组成的,下面我们看一个例子:
div {
width: 0;
height: 0;
border: 100px solid;
border-color: orange blue red green;
}
我们将元素的长宽都设置为0,显示出来的效果是这样的:
所以我们就可以根据border这个特性来绘制三角形:
(1)三角1
div {
width: 0;
height: 0;
border-top: 50px solid red;
border-right: 50px solid transparent;
border-left: 50px solid transparent;
}
(2)三角2
div {
width: 0;
height: 0;
border-bottom: 50px solid red;
border-right: 50px solid transparent;
border-left: 50px solid transparent;
}
(3)三角3
div {
width: 0;
height: 0;
border-left: 50px solid red;
border-top: 50px solid transparent;
border-bottom: 50px solid transparent;
}
(4)三角4
div {
width: 0;
height: 0;
border-right: 50px solid red;
border-top: 50px solid transparent;
border-bottom: 50px solid transparent;
}
(5)三角5
div {
width: 0;
height: 0;
border-top: 100px solid red;
border-right: 100px solid transparent;
}
还有很多,就不一一实现了,总体的原则就是通过上下左右边框来控制三角形的方向,用边框的宽度比来控制三角形的角度。
2. CSS绘制扇形
用CSS实现扇形的思路和三角形基本一致,就是多了一个圆角的样式,首先先实现一个90°的扇形:
div{
border: 100px solid transparent;
width: 0;
heigt: 0;
border-radius: 100px;
border-top-color: red;
}
其他方向也类似,这里只实现了90°的扇形,对于任意的角度的扇形后面再补充吧!