效果图:

思路 :在一个容器里再放两个矩形,每个矩形都占一半,给这两个矩形都设置溢出隐藏,当去旋转矩形里面的圆形的时候,溢出部分就被隐藏掉了,这样就可以达到想要的效果。

代码-html:

 <div class="income-divided-box">
<div class="income-divided-box-title">物业分成:{{Number(income.propertyelectronics)+Number(income.propertycash)}}元</div>
<div class="income-divided-box-circle">
<div class="circle-top">
<div class="circle-left">
<div class="circle-top-txt">电子</div>
<div class="circle-top-num">{{income.propertyelectronics}}元</div>
</div>
<div class="circle-right">
<div class="circle-right-t"></div>
<div class="circle-right-b"></div>
</div>
</div>
<div class="circle-btm">
<div class="circle-left">
<div class="circle-left-t"></div>
<div class="circle-left-b"></div>
</div>
<div>
<div class="circle-btm-txt">现金</div>
<div class="circle-btm-num">{{income.propertycash}}元</div>
</div>
</div>
<div class="circle-out">
<div class="out-wrapper right">
<div class="out-circleProgress out-rightcircle" :style="{'-webkit-transform':'rotate('+prooutlDeg+')' }"></div>
</div>
<div class="out-wrapper left">
<div class="out-circleProgress out-leftcircle" :style="{'-webkit-transform':'rotate('+prooutrDeg+')' }"></div>
</div>
<div class="circle-in">
<div class="circle-in-wrapper">
<div class="wrapper right">
<div class="circleProgress rightcircle" :style="{'-webkit-transform':'rotate('+proinlDeg+')' }"></div>
</div>
<div class="wrapper left">
<div class="circleProgress leftcircle" :style="{'-webkit-transform':'rotate('+proinrDeg+')' }"></div>
</div>
</div>
</div>
</div>
</div>
43 </div>

代码-css:

.circle-out{
display: flex;
justify-content: center;
align-items: center;
height: 90px;
width: 90px;
margin: 50px auto;
position: relative;
.out-wrapper{
width: 45px;
height: 90px;
position: absolute;
top:;
overflow: hidden;
&.right{
right:;
}
&.left{
left:; }
.out-circleProgress{
width: 85px;
height: 85px;
border:2.5px solid #e3f9e3;
border-radius: 50%;
position: absolute;
top:;
/*transform: rotate(45deg);*/
}
.out-rightcircle{
border-top:2.5px solid #74e172;
border-right:2.5px solid #74e172;
right:;
}
.out-leftcircle{
border-bottom:2.5px solid #74e172;
border-left:2.5px solid #74e172;
left:;
/*transform: rotate(150deg);*/
}
}
.circle-in{
.circle-in-wrapper{
height: 64px;
width: 64px;
margin: 50px auto;
position: relative;
/*border:1px solid #ddd;*/
.wrapper{
width: 32px;
height: 64px;
position: absolute;
top:;
overflow: hidden;
&.right{
right:;
}
&.left{
left:;
}
.circleProgress{
width: 60px;
height: 60px;
border:2.5px solid #fff2ce;
border-radius: 50%;
position: absolute;
top:;
transform: rotate(45deg);
}
.rightcircle{
border-top:2.5px solid #ffbd0a;
border-right:2.5px solid #ffbd0a;
right:;
}
.leftcircle{
border-bottom:2.5px solid #ffbd0a;
border-left:2.5px solid #ffbd0a;
left:;
transform: rotate(150deg);
}
}
}
}
}

代码-js:

// 圆环弧度显示设置
setDeg(all,num){
if(all == 0 || all == 0.00){
return (['225deg','225deg'])
}
var out = Number(num)/Number(all)*180
var outr = out - 90 > 0 ? out-90 : 0 //右侧半圆
var outl = out - 90 < 0 ? out : 90 // 左侧半圆
var outlDeg = outr*2 + 225 +'deg' //右侧半圆
var outrDeg = outl*2 + 225 +'deg' // 左侧半圆
return ([outrDeg,outlDeg])
}
注:.wrapper 的overflow:hidden; 起着关键性作用

用css制作圆环图表 (vue,sass)的更多相关文章

  1. excel怎么制作三维圆环图表

    excel怎么制作三维圆环图表 excel怎么制作三维圆环图表?excel中想要制作一个三维圆环图表,该怎么制作呢?下面我们就来看看详细的教程,很简单,在Excel中,可以通过自带的圆环图功能生成二维 ...

  2. CSS制作三角形和按钮

    CSS制作三角形和按钮 用上一篇博文中关于边框样式的知识点,能制作出三角形和按钮. 我先说如何制作三角形吧,相信大家在平时逛网站的时候都会看到一些导航栏中的三角形吧,比如说: 网易首页的头部菜单栏中, ...

  3. 前端开发css实战:使用css制作网页中的多级菜单

    前端开发css实战:使用css制作网页中的多级菜单 在日常工作中,大家都会遇到一些显示隐藏类菜单,比如页头导航.二维码显示隐藏.文本提示等等......而这些效果都是可以使用纯css实现的(而且非常简 ...

  4. css制作漂亮彩带导航条菜单

    点击这里查看效果:http://keleyi.com/keleyi/phtml/divcss/17.htm 效果图: 以下是源代码: <!DOCTYPE html PUBLIC "-/ ...

  5. CSS高效开发实战:CSS 3、LESS、SASS、Bootstrap、Foundation --读书笔记(1)设定背景图

    技术的新发展,除计算机可以接入互联网之外,平板电脑.智能手机.智能电视等其他设备均可访问互联网.在多设备时代,构建多屏体验也不是听说的那么难. 但是这也增加了学习CSS的难度?不知道如何上手,只懂一点 ...

  6. CSS 制作三角形原理剖析

    使用css制作三角形其实原理很简单,下面一步步解析. 1.html代码如下 <div class="triangle"> </div> 2.CSS代码 .t ...

  7. 纯CSS制作水平垂直居中“十字架”

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  8. jQuery & CSS 制作金属质感的选择按钮

    如果能把 CSS 运用好,我们创作出好的交互和效果的可能性大大增加.这篇文章中,我想与大家分享一组结合 jQuery & CSS 制作的充满金属质感的选择框效果,绝对是超级精美的效果. 在线演 ...

  9. 只会CSS还不够,LESS、SASS、BootStrap、Foundation一网打尽!

    有些人想学CSS,不知如何下手:有些人已经学会CSS的各种属性,却不知如何运用:有些人会平面设计,不知道如何与网页设计结合:有些人会HTML,就是学不会CSS.试问自己,图中的技术你都会了吗? 别总是 ...

随机推荐

  1. 基于docker容器搭建fastdfs分布式文件系统

    本次环境的搭建参考了 https://blog.csdn.net/qq_43455410/article/details/84797814, 感谢博主. 主要流程如下: 1. 下载fastdfs镜像 ...

  2. oracle的日期蛋

    一切都是扯鸡巴蛋. 在网上查oracle的日期函数用法,得到一大堆语法,林林总总,都是扯鸡巴蛋,没能解决我的问题. 其实,我想写这么一条语句:查找某个日期(不含时分秒)产生或有关的记录.咋写? SQL ...

  3. bzoj2461: [BeiJing2011]符环

    再做水题就没救了 考虑DP...我们把正反面一起弄 fi,j,k,u表示第几个位置,正面多了多少左括号,背面多了多少没办法消的右括号,背面结尾的左括号数 #include<cstdio> ...

  4. 什么是以太坊私钥储存(Keystore)文件

    进入keystore管理以太坊私钥的障碍很大,主要是因为以太坊客户端在直接的命令行或图形界面下隐藏了大部分的密码复杂性. 例如,用geth: $ geth account new Your new a ...

  5. 使用cgroups限制MongoDB的内存使用

    cgroups,其名称源自控制组群(control groups)的简写,是Linux内核的一个功能,用来限制,控制与分离一个进程组群的资源(如CPU.内存.磁盘输入输出等). 这个项目最早是由Goo ...

  6. bootstrap复选框和单选按钮

    复选框和单选按钮标签包含在<Label>标签中<div class="checkbox"> <label><input type=&quo ...

  7. 杭电acm5698-瞬间移动(2016"百度之星" - 初赛(Astar Round2B))

    题目地址:http://acm.hdu.edu.cn/showproblem.php?pid=5698 Problem Description 有一个无限大的矩形,初始时你在左上角(即第一行第一列), ...

  8. 使用FFMPEG从MP4封装中提取视频流到.264文件 (转载)

    命令行: ffmpeg -i 20130312_133313.mp4 -codec copy -bsf: h264_mp4toannexb -f h264 20130312_133313.264 说明 ...

  9. 洛谷 P2770 航空路线问题【最大费用最大流】

    记得cnt=1!!因为是无向图所以可以把回来的路看成另一条向东的路.字符串用map处理即可.拆点限制流量,除了1和n是(i,i+n,2)表示可以经过两次,其他点都拆成(i,i+n,1),费用设为1,原 ...

  10. akka设计模式系列-akka在秒杀场景的应用

    本博客讨论一下akka在秒杀场景下的应用,提出自己的见解,只做抛砖引玉,大神勿喷.秒杀活动涉及到前中后台各个阶段,为了说明问题,我们简化场景,只研究akka在后台如何处理秒杀业务. 秒杀活动 所谓的秒 ...