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 请参考 sunmengyuan.github.io/garden/2017… 文章末尾的安装教程。

本例调试方法:

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

作者:呆恋小喵

我的后花园:sunmengyuan.github.io/garden/

我的 github:github.com/sunmengyuan

原文链接:sunmengyuan.github.io/garden/2017…

相关推荐:css教程

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

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

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2025年12月24日 06:01:54
下一篇 2025年12月24日 06:02:10

相关推荐

  • css li怎么水平居中对齐

    css li水平居中对齐的方法:首先创建一个HTML示例文件;然后定义好li标签;最后通过“overflow: hidden;margin: 100px auto;”等属性实现水平居中对齐即可。 本文操作环境:windows7系统、HTML5&&CSS3版,DELL G3电脑。 cs…

    好文分享 2025年12月24日
    000
  • 用css怎么添加小图标

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

    2025年12月24日 好文分享
    000
  • 浅谈css布局中负margin的使用方法

    【推荐教程:CSS视频教程 】 一、左右栏宽度固定,中间栏宽度自适应 左右栏宽度固定,中间栏宽度自适应 body{ margin: 0; padding: 0; min-width:600px; color: #fff; font-weight: bold; font-size: 30px; tex…

    2025年12月24日 好文分享
    000
  • css中怎么将div居中显示图片

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

    2025年12月24日
    000
  • myeclipse怎么用css

    myeclipse用css的方法:首先点击“file-new-other”;然后找到web project点击next;接着在弹出框中输入“project name”直接点击finish;最后在新建的jsp页面中的head中间加入代码即可。 本教程操作环境:Windows7系统、Dell G3电脑、…

    2025年12月24日
    000
  • css id选择器怎么写

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

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

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

    2025年12月24日
    000
  • 看看CSS中的那些背景图片函数!

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

    2025年12月24日 好文分享
    000
  • CSS实现滚动阴影效果的小技巧(分享)

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

    2025年12月24日 好文分享
    000
  • css中如何改变字体大小

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

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

    方法:1、在style标签中通过“@import”引用,语法“@import url(URL)”;2、通过link标签引用,语法“”。 本教程操作环境:windows7系统、CSS3&&HTML5版、Dell G3电脑。 CSS外部样式表 如果 CSS 样式被放置在网页文档外部的文件…

    2025年12月24日
    000
  • 用css实现div里面的文字靠右

    在css中,可以通过给div元素添加“text-align: right;”样式来让div里面的文字靠右。text-align属性可以设置元素中的文本的水平对齐方式,当属性值设置为“right”时可以把文本排列到右边。 本教程操作环境:windows7系统、CSS3&&HTML5版、…

    2025年12月24日
    000
  • css中能加减乘除吗

    css中能加减乘除。在css中可以使用calc()函数来进行“加减乘除”四则运算,它允许使用“+”、“-”、“*”、“/”这四种运算符,可以混合使用%、px、em、rem等单位进行计算。 本教程操作环境:windows7系统、CSS3版、Dell G3电脑。 css中能加减乘除。 数学表达式calc…

    2025年12月24日
    000
  • ie9不能读取外部css样式怎么办

    ie9不能读取外部css样式的解决办法:1、确保所写的相对路径是可以直接访问到要引用的css文件;2、确保css的编码是utf-8,内部打开无乱码;3、把css全复制到页面中即可。 本文操作环境:windows7系统、HTML5&&CSS3版,DELL G3电脑。 ie9不能读取外部…

    2025年12月24日
    000
  • 外部调用css不显示怎么办

    外部调用css不显示的解决办法:首先打开chrome的F12调试器进行查看;然后用sublime编辑器修改本地css文件编码格式为“utf-16LE”;最后重新编写css代码即可。 本文操作环境:windows7系统、Sublime Text3&&css3版,DELL G3电脑。 外…

    2025年12月24日 好文分享
    000
  • 详解css z-index的权重问题

    本篇文章给大家分享一下css的z-index权重问题。到底怎么样才能让我们想要排在上面的元素能在上面,想在下面的元素就老老实实的在下面。 一、一起看下面实战中z-index的几种情况: 一个定义了定位,一个没定义定位,谁在上面? 一个父级盒子定位,一个不定位,不定位的子级设置定位,谁在上面? 一个父…

    2025年12月24日 好文分享
    000
  • CSS Modules是啥子东西?一起来了解一下!

    今年四月份的时候面试了一家公司, 技术面的时候被人家问到了CSS Module有了解过么,我说没有了解过, 他就继续问到,那你在平时开发的时候给组件和元素起类名要怎么办呢? 我说给元素和组件加指定前缀,这样就能够保证自己写的类名和其他同事写的类名不会起冲突。 然后就没然后了,,后续又问了我很多Rea…

    2025年12月24日
    000
  • CSS中如何使用@规则?用法介绍

    【推荐教程:css视频教程 】 at-rule是一个声明,为CSS提供执行或怎么表现的指令。每个声明以@开头,后紧跟一个可用的关键字,这个关键字充当一个标识符,用于表示CSS该做什么。这是一个通用的语法,尽管每个at-rule有其它语法变体。 常规规则 常规规则遵循下面的语法: 代码如下: 立即学习…

    2025年12月24日
    000
  • 怎么让CSS文件里图片居中

    让CSS文件里图片居中的方法:首先创建一个HTML示例文件;然后引入一张背景图片;最后通过css中的“background-position”属性实现图片居中即可。 本文操作环境:windows7系统、HTML5&&CSS3版,DELL G3电脑。 CSS让背景图片居中的方法 其实很…

    2025年12月24日
    000
  • css 怎么去掉按钮样式

    css去掉按钮样式的方法:首先打开查看按钮样式的css代码;然后通过“border: none;outline: none;”属性去除边框以及消除默认点击蓝色边框效果即可。 本文操作环境:windows7系统、css3版,DELL G3电脑。 浏览器为我们提供的按钮样式,只能说是够用,它不够美观,在…

    2025年12月24日 好文分享
    000

发表回复

登录后才能评论
关注微信