效果图:

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

代码-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. 3 微信开发本地代理环境的搭建--实现将内网ip映射到外网

    微信公众号的开发,要搭建网站,并且随时都有可能修改网站内容进行调试,这就需要临时外网能返回本地开发环境搭建的项目进行测试,即内网映射到公网,但是好多开发者没有自己的域名和服务器,这里我们先来搭建一个本 ...

  2. 19-6/24作业: 将一个double类型的小数,按照四舍五入保留两位小数

    ☞要求 将一个double类型的小数,按照四舍五入保留两位小数 ☞实现方式 1.获得一个double类型的小数 2.使用BigDecimal包的setScale进行操作 3.输出结果 ☞代码内容 pa ...

  3. ASP.NET MVC 提供与访问 Web Api

    ASP.NET MVC 提供与访问 Web Api 一.提供一个 Web Api 新建一个项目,类型就选 "Web Api".我用的是MVC5,结果生成的项目一大堆东西,还编译不过 ...

  4. 2016/2/24 css画三角形 border的上右下左的调整 以及内区域的无限变小 边界透明

    网页因为 CSS 而呈现千变万化的风格.这一看似简单的样式语言在使用中非常灵活,只要你发挥创意就能实现很多比人想象不到的效果.特别是随着 CSS3 的广泛使用,更多新奇的 CSS 作品涌现出来. 今天 ...

  5. HDU1069 Monkey and Banana —— DP

    题目链接:http://acm.split.hdu.edu.cn/showproblem.php?pid=1069 Monkey and Banana Time Limit: 2000/1000 MS ...

  6. eclipse自动创建项目出错Cannot change version of project facet Dynamic Web Module to 2.3.

    Cannot change version of project facet Dynamic Web Module to 2.3. step1:修改properties step2:修改web.xml ...

  7. 7-39 Math对象

    7-39 Math对象 学习要点 掌握常用的数学计算方法 温馨提示:关于学习方法的建议 不要强求自己讲参考手册上所以的属性和方法都搞清楚,原因如下: 有些属性和方法非常生僻,很少用,甚至经过一段时间后 ...

  8. silverlight DataGrid 显示篇

    silverlight DataGrid 显示篇 分类: Silverlight2012-05-12 21:55 693人阅读 评论(0) 收藏 举报 datagridsilverlightbindi ...

  9. Synchronized的使用和注意事项

    synchronized: 1.取得的锁都是对象锁,而不是把一段代码或方法(函数)当作锁: 2.多个线程访问的必须是同一个对象. 3.当一个线程执行的代码出现异常时,其所持有的锁会自动释放 4.A线程 ...

  10. 小程序-demo:小程序示例

    ylbtech-小程序-demo:小程序示例     1.返回顶部 0. 1.app.js const openIdUrl = require('./config').openIdUrl App({ ...