css绘制扇形进度条

css绘制扇形进度条

前言:

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

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

b66534fd94c4704bae3a4ffd32a6984.png

立即学习“前端免费学习笔记(深入)”;

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

77d98eaed7ac2b1e6c1af588ac0f2da.png

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

1f809c04b7f891d0b926380da44040b.png

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

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

5c1166b00fa549538037f67812678e9.png

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

span {    width: 0;    height: 0;    border: $radius solid transparent;    $borderWidth: tan(pi() / $count) * $radius;    border-left-width: $borderWidth;    border-right-width: $borderWidth;}

登录后复制

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

对于 $count 为 1 或 2 的情况需特殊处理,因为 tan(PI) 及 tan(PI / 2) 为无穷值,不了解的同学请研究正切函数图像:

9d4f34fc5e7528841e92fab69abddac.png

相关代码(其中 $diameter = 2 * $radius 为圆直径):

span {    @if $count == 1 {        width: $diameter;        height: $diameter;    } @else if $count == 2 {        width: $diameter;        height: $radius;    } @else {        width: 0;        height: 0;        border: $radius solid transparent;        $borderWidth: tan(pi() / $count) * $radius;        border-left-width: $borderWidth;        border-right-width: $borderWidth;    }}

登录后复制

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

@for $index from 0 to $count {    span:nth-child(#{$index + 1}) {        $transform: translate(-50%, 0) rotate(360deg / $count / 2 + 360deg * $index / $count);        $origin: if($count == 2, bottom, center);        -webkit-transform: $transform;                transform: $transform;        -webkit-transform-origin: $origin;                transform-origin: $origin;    }}

登录后复制

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

2017/11/14 续更

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

安装 Sass 请参考 在此 文章末尾的安装教程。

本例调试方法:

cd sectorsass --watch style.scss:style.css --debug-info

登录后复制

作者:呆恋小喵

我的后花园:在此

我的 github:在此

原文链接:在此

相关推荐:在此

以上就是css绘制扇形进度条的详细内容,更多请关注【创想鸟】其它相关文章!

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

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2880109.html

(0)
上一篇 2025年3月10日 19:50:38
下一篇 2025年2月24日 23:52:13

AD推荐 黄金广告位招租... 更多推荐

相关推荐

  • 用css怎么添加小图标

    用css添加小图标的方法:1、使用input标签创建一个文本框;2、在css中使用background属性设置input的背景图片为“icon.jpg”;3、使用padding-left属性设置左边距,主要是用于让文本框的输入内容在小图标后…

    2025年3月10日 编程技术
    200
  • 浅谈css布局中负margin的使用方法

    【推荐教程:CSS视频教程 】 一、左右栏宽度固定,中间栏宽度自适应 nbsp;html>        左右栏宽度固定,中间栏宽度自适应     body{ margin: 0; padding: 0; min-width:600p…

    2025年3月10日 编程技术
    200
  • css中怎么将div居中显示图片

    css将div居中显示图片的方法:1、利用图片的margin属性将图片水平居中,代码如“margin:0 auto;”;2、利用div的padding属性将图片垂直居中,代码如“padding-top:50px;”。 本教程操作环境:Win…

    2025年3月10日
    200
  • myeclipse怎么用css

    myeclipse用css的方法:首先点击“file-new-other”;然后找到web project点击next;接着在弹出框中输入“project name”直接点击finish;最后在新建的jsp页面中的head中间加入代码即可。…

    2025年3月10日
    200
  • css id选择器怎么写

    css id选择器的写法是“#selector{属性:值}”,ID选择器前面有一个#号,也称为棋盘号或井号;与类选择器一样,ID选择器中可以忽略通配选择器。 本教程操作环境:Windows7系统、Dell G3电脑、CSS3版。 css i…

    2025年3月10日
    200
  • css如何修改html标签的title样式?(代码示例)

    【推荐教程:CSS视频教程 】 纯CSS实现tooltip,css更改html标签的title样式【笔者有时间会更新一些边界条件。目前的样式在极端情况是有问题的,请不要直接将代码copy到线上环境,这只是笔者写的一个小demo】 html代…

    2025年3月10日
    200
  • 看看CSS中的那些背景图片函数!

    本篇文章带大家了解一下css中的背景图片函数:url()、image()、image-set()、cross-fade()、element()。有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助。 【推荐教程:CSS视频教程 】…

    2025年3月10日 编程技术
    200
  • CSS实现滚动阴影效果的小技巧(分享)

    本篇文章给大家介绍一下使用纯css实现滚动阴影效果的方法。有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助。 【推荐教程:CSS视频教程 】 开门见山,有这样一种非常常见的情况,对于一些可滚动的元素而言。通常在滚动的时候会给垂…

    2025年3月10日 编程技术
    200
  • css中如何改变字体大小

    在css中,可以使用font-size属性来改变字体大小,该属性可以设置字体大小,语法格式为“font-size:值;”。实际上font-size属性设置的是字体中字符框的高度,实际的字符字形可能比这些框高或矮(通常会矮)。 本教程操作环境…

    2025年3月10日
    200
  • CSS外部样式表有两种引用方法,分别是什么

    方法:1、在style标签中通过“@import”引用,语法“@import url(URL)”;2、通过link标签引用,语法“”。 本教程操作环境:windows7系统、CSS3&&HTML5版、Dell G3电脑。 C…

    2025年3月10日
    200

发表回复

登录后才能评论