css怎样绘制扇形进度条

  介绍

小编给大家分享一下css怎样绘制扇形进度条,希望大家阅读完这篇文章之后都有所收获、下面让我们一起去探讨吧!

前言:

本文为大家分享了利用纯css绘制圆环进度条的方法,在使用本文中的方法时,建议先了解圆心角,弧度制,三角函数等知识。

为实现如下效果呕心沥血:

 css怎样绘制扇形进度条

当然你可以拥抱Svg……在此分享如何纯Css打造圆环进度条,只需三步!

 Css怎样绘制扇形进度条

此物乃2 + 1夹心饼干,蓝绿色部分为果酱。显而易见饼干为两个削成了圆形的div,我们重点演示果酱是怎么制作的:

 Css怎样绘制扇形进度条

如图所示,大扇形由6个小扇形构成,每一小扇形占整个圆饼的1/15,大扇形占整个圆饼的6/15。我们只需构造一个扇形单元,将其复制6份后旋转相应角度连接至一起即可。

如何构造扇形?用三角形伪装……

 css怎样绘制扇形进度条

三角形的宽高如何计算?假定圆半径半径为100 px,美元等分数计数为15美元。则小扇形的圆心角为360度/15日三角形的高为100 px,宽为2 * 100 px * tan(360度/15/2)。其中360度/15/2转化弧度制为π/15(π==360度/2)。

span  {   ,,,宽度:,0;   ,,,身高:,0;   ,,,边界:,radius 美元;solid 透明;   ,,,borderWidth:美元,谭(π(),/,美元数),*,美元半径;   ,,,border-left-width:, borderWidth美元;   ,,,border-right-width:, borderWidth美元;   }

数学欠佳的同学请自行科普…

对于美元计数为1或2的情况需特殊处理,因为棕褐色(PI)及棕褐色(π/2)为无穷,值不了解的同学请研究正切函数图像:

 css怎样绘制扇形进度条

相关代码(其直径=2 *美元中半径为圆直径):

span  {   ,,,@if  count 美元;==,1,{   ,,,,,,,宽度:,美元直径;   ,,,,,,,:高度,直径美元;   ,,,},@else  if  count 美元;==,2,{   ,,,,,,,宽度:,美元直径;   ,,,,,,,身高:,美元半径;   ,,,},{@else    ,,,,,,,宽度:,0;   ,,,,,,,,身高:0;   ,,,,,,,边界:,radius 美元;solid 透明;   ,,,,,,,borderWidth:美元,谭(π(),/,美元数),*,美元半径;   ,,,,,,,border-left-width:, borderWidth美元;   ,,,,,,,border-right-width:, borderWidth美元;   ,,,}   }

最后,复制并逐一旋转扇形单元:

@for  index 美元;得到0,用count 美元;{   ,,,跨度:nth-child (# {index 美元;+,1}),{   ,,,,,,,变换:美元,翻译(-50%,0),旋转(360 deg /, count 美元/,2,+,360 deg  *, index 美元/,美元数);   ,,,,,,,产地:美元,如果(count 美元;==,,,,,中心);   ,,,,,,,-webkit-transform:,美元变换;   ,,,,,,,,,,,,,,,:转换,转换美元;   ,,,,,,,-webkit-transform-origin:,美元的起源;   ,,,,,,,,,,,,,,,transform-origin:,美元的起源;   ,,,}   }

果酱制作完毕,其它点缀请自行添加喽……本例完整代码在此。

2017/11/14续更

由于本例引入了三角函数等数学运算,使用Sass预编译。未安装Sass的同学可下载经编译的源码开启部门。html查看效果。

安装Sass请参考sunmengyuan.github。io/花园/2017…文章末尾的安装教程。

本例调试方法:

cd 部门   sass ——watch  style.scss: style.css ——debug-info

看完了这篇文章,相信你对“css怎样绘制扇形进度条”有了一定的了解,如果想了解更多相关知识,欢迎关注行业资讯频道,感谢各位的阅读!

css怎样绘制扇形进度条