svg圈显示为方

时间:2017-08-11 12:31:10

标签: css svg

我正在尝试使用svg制作饼图,所以我发现这个codepen有一个动画饼图

我试图将饼图设置为20 x 20而不是50 x 50,所以我想我可以改变宽度和高度,然后改变半径和中心点的一半。

我还将css中的笔画宽度更改为20,将周长更改为63(2 x pie x 10),因此我不确定还需要更改什么以使正方形变回圆形。

然而,我得到一个奇怪的错误,因为馅饼块变成了正方形:click on the 100% button

是否有将第二个圆圈再次变成圆圈?

我已经包含了以下代码段,但它不允许使用scss,所以我无法让它复制笔,但它显示了方形问题。



body {
  /* Appearance */
  background-color: #2c333b;
}

a, h5, h3 {
  /* Display & Box Model */
  margin: 10px 0;
  /* Text */
  font-family: sans-serif;
  font-weight: normal;
  letter-spacing: 1px;
  /* Appearance */
  color: #fff;
}

.svg {
  /* Appearance */
  transform: rotate(-90deg);
}

.circle {
  /* Appearance */
  fill: #fdded9;
}

#pie {
  /* Appearance */
  stroke: #ff4081;
  stroke-dasharray: 0 63;
  stroke-width: 20;
  transition: stroke-dasharray .2s linear;
}
#pie.percent-10 {
  stroke-dasharray: 6.3 63;
}
#pie.percent-20 {
  stroke-dasharray: 12.6 63;
}
#pie.percent-30 {
  stroke-dasharray: 18.9 63;
}
#pie.percent-40 {
  stroke-dasharray: 25.2 63;
}
#pie.percent-50 {
  stroke-dasharray: 31.5 63;
}
#pie.percent-60 {
  stroke-dasharray: 37.8 63;
}
#pie.percent-70 {
  stroke-dasharray: 44.1 63;
}
#pie.percent-80 {
  stroke-dasharray: 50.4 63;
}
#pie.percent-90 {
  stroke-dasharray: 56.7 63;
}
#pie.percent-100 {
  stroke-dasharray: 63 63;
}

.wrapper {
  /* Positioning */
  position: absolute;
  top: 50%;
  left: 50%;
  /* Display & Box Model */
  width: 100px;
  /* Appearance */
  -moz-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
}

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="wrapper">
	<svg width="20" height="20" class="svg">
		<circle r="10" cx="10" cy="10" class="circle"/>
		<circle id="pie" r="10" cx="10" cy="10" class="circle percent-100"/>
	</svg>
</div>
&#13;
&#13;
&#13;

1 个答案:

答案 0 :(得分:2)

有几件事:

  1. 内圆的半径应为5(不是10)
  2. CSS中的$circumference应该是内圈(半径为5)的stroke-width,所以它应该是31.4
  3. CIRCUMFERENCE应该是10的一侧(外部cirlce的大小,而不是20)
  4. 这是修复:
    https://codepen.io/anon/pen/jLwjdb

      

    请注意,我还更改了js代码中onButtonClickDynamic的值,但它只会影响您从未调用的 Forms![Menu2].[PodformularzNawigacji].Form.[Nr] Like Forms![Menu2].[PodformularzNawigacji].Form.[Tekst149] 函数,但如果您需要,它会在那里影响它