【发布时间】:2017-04-08 12:29:11
【问题描述】:
我有一个进度条的 SVG 圆形动画,其中 stroke-dashoffset 的动画从 0,radius 到 radius,0 (从 0% 到 100%)。
圆周长的公式是pi * d。有没有办法使用 CSS calc 函数,它可以使用 pi 的值,而不仅仅是一个四舍五入的值(如 3.14)?
【问题讨论】:
-
正如 Ouroborus 所提到的,浏览器大多将数字四舍五入到小数点后 2 位,因此使用 3.14 以外的值没有多大意义,但如果您对此不满意,为什么不只是使用
22/7并让浏览器决定它要如何处理? -
也许最好使用 JavaScript 来完成这个动画任务:
var intRadius = Math.floor(objCircle.offsetWidth / 2) -
实际上不可能为 pi 表示一个 unrounded 值。 Pi is not rational!
-
如果使用优于 3.14 的近似值产生更好的视觉效果,我会感到惊讶。
-
使用 3.14 时,d=1000px 的圆的半径将偏移 1px...所以这取决于您的圆有多大。
标签: css svg css-animations