[英]How to create an inner border of a donut pie chart?
我有一个甜甜圈饼图进度栏。 我想给他们一个内在的边界,我试过了
.pie{
box-sizing:border-box;
-moz-box-sizing:border-box;
-webkit-box-sizing:border-box;
width:70px;
height:70px;
border:2px solid black;
border-radius:50%;
}
我希望饼图如下所示:
我不断得到这个作为我的结果:
这是我的小提琴 。
这并不完美,但是您可以使用上,下,宽,下值,只需添加:
.easyPieChart *::before {
border: 1px solid black;
border-radius: 50%;
bottom: 9px;
content: " ";
display: block;
left: 8px;
position: absolute;
top: 10px;
width: 83%;
z-index: 99;
}
您的代码的问题是easyPieChart带有边框偏移,因为图表是使用canvas
绘制的。
但是,您可以改用box-shadow
,将border
线替换为:
box-shadow: inset 0 0 0 11px black;
-moz-box-shadow: inset 0 0 0 11px black;
-webkit-box-shadow: inset 0 0 0 11px black;
那应该为您解决问题。
顺便说一句,CSS的width
和height
都被覆盖到110,110
,而不是70,70
这是内部边框的工作代码,没有外部很难看到的外部边框:
HTML:
<div class="pie" data-percent="90" > <span>6</span> </div>
CSS:
.pie { box-sizing:border-box; box-shadow: inset 0px 0px 0 10px black; border-radius:50%; } .pie canvas { position: absolute; top: -1px; left: -1px; width: 110px; height: 110px; }
JS:
$('.pie').easyPieChart({ barColor: '#62ae41', scaleColor: false, lineWidth: 10, trackWidth: 10, animate: false, lineCap: 'square', size: 110 }); $('.pie').css('width', '108px'); $('.pie').css('height', '108px'); $('.pie').css('line-height', '108px');
瞧,梦想的饼图。
在大多数情况下,这与您的小提琴相同,但更改的是:
就是这样。
PS:当我不得不更改生成的代码的样式时,我讨厌它,但是我不得不使用生成的canvas
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.