CSS实现动态百分比圆环

效果展示

没掌握上传动图的操作,这里就先截静态图吧

25%
50%

实现思路

自己的思路

一开始看到这个图的时候,想着应该不难

  • 外面一个div,里面一个div,一个背景深蓝色,一个背景白色
  • 蓝色的div加一个伪元素,背景浅蓝色,再裁剪一半

还是先试试,写着写着发现中间各种设置四周边距,才让中间div居中,我都看不下去了

参考了别人的思路

看了有很多例子,一开始没看懂的时候,觉得都写的什么呀,有这么复杂吗,但不知道怎么就突然开了窍,哇,这么简单,原来都是套路呀。

CSS属性

更合理的思路

利用遮罩和裁剪的思想。

  • 想象你有一个浅蓝色的圆圈,一个浅蓝色的半圆圈,一个深蓝色的半圆圈,三个半径一样大;
  • 浅蓝色半圆圈,深蓝色半圆圈,浅蓝色圆圈,从上往下依次堆叠放置;
  • 这时候,你会发现将中间那层深蓝色半圆圈稍作转动,从上忘下俯视,就会发现有你要的效果;
  • HTML设计如下

    HTML结构

  • 最外层div设置宽度为10pxborder,让里面内容居中

    设置大小和内容居中

  • 给内层第一个div(深蓝色半圆圈)设置border,裁剪右半部分,并让其顺时针旋转90°

  • 给外层div设置两个伪元素,分别是after(浅蓝色半圆圈)和before(浅蓝色圆圈)

    before

    after裁剪右半部分

让它动起来

设置从0°开始顺时针旋转90°


利用animation一些属性

这样,一个动态的圆环就成功啦。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 问答题47 /72 常见浏览器兼容性问题与解决方案? 参考答案 (1)浏览器兼容问题一:不同浏览器的标签默认的外补...
    _Yfling阅读 14,696评论 1 92
  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 14,719评论 4 61
  • 像一场拉锯战,像一场闹剧,
    大雪是也阅读 1,661评论 0 0
  • 10月19日,我们的第二次快速阅读活动,18日刚刚因为感冒高烧在家昏睡一天,本该休息,但还是不想错过烧脑又有收获的...
    文静大公主阅读 3,767评论 2 0
  • 文/小狗的目标 我爱阅读,喜欢游荡者在图书馆、大型书城或是街角的小书店。 开一家有品位的书店是我曾经的一度梦寐以求...
    处暑2022阅读 3,741评论 9 6

友情链接更多精彩内容