效果图:

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

代码-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. 小贝_mysql数据库备份与恢复

    mysql数据库备份与恢复 简要:        一.数据库备份        二.数据库恢复 一.数据库备份 1.备份简单说明 : 系统执行中,增量备份与总体备份 例: 每周日总体备份一次,周一到周 ...

  2. Entity Framework工具POCO Code First Generator的使用(参考链接:https://github.com/sjh37/EntityFramework-Reverse-POCO-Code-First-Generator)

    在使用Entity Framework过程中,有时需要借助工具生成Code First的代码,而Entity Framework Reverse POCO Code First Generator是一 ...

  3. [C#]从URL中获取路径的最简单方法-new Uri(url).AbsolutePath

    今天在写代码时遇到这样一个问题: 如何从字符串 "http://job.cnblogs.com/images/job_logo.gif" 中得到 "/images/job ...

  4. 队列,管道,manager模块

    ###生产者消费者关系### 主要是解耦(高内聚,低耦合),借助队列来实现生产者消费者 模型 栈:先进后出(First In Last Out 简称:FILO) 队列:先进先出(First In Fi ...

  5. Form content types

    Forms in HTML documents https://www.w3.org/TR/html401/interact/forms.html#h-17.13.4 17.13.4 Form con ...

  6. Windows平台cocos2d-x 3.0 android开发环境

    cocos2d-x升级到3.0后变化不小,除了API的变化(主要是函数和类名称变化,以及使用了C++11的不少特性.function/bind, lamda, std::thread-),创建和编译p ...

  7. SAP事务码 一

    SE80 -- edit source code. SE24 -- class create or display. SFP -- created and maintained independent ...

  8. The type exists in both DLLs

    2>C:\Windows\Microsoft.NET\Framework\v4.0.30319\Temporary ASP.NET Files\root\c0b37647\aaceda91\Ap ...

  9. html5--7-33 阶段练习5

    html5--7-33 阶段练习5 总结: 1.JS中可以递归函数 2.js中数组对象array的使用 学习要点 综合运用学过的知识完成三个综合小练习,巩固学过的知识. 阶段小练习5-1:使用递归算法 ...

  10. java 泛型的理解与应用

    为什么使用泛型? 举个例子: public class GenericTest { public static void main(String[] args) { List list = new A ...