javascript - 有可能从零件中获得完美的 svg 圆圈吗?

标签 javascript css svg snap.svg

我有 4 个圆弧,它们是使用 SnapSVG.js 生成的 问题是上弧之间的间隙高于下弧的间隙 所以我的问题是,我是否可以仅使用 CSS 来修复圆弧之间的间隙并获得一个完美的圆来与调整大小保持一致?

这是原始 JS [我打算稍微清理一下] http://jsfiddle.net/LtLafp2r/

var canvasSize = 200,
    centre = canvasSize/2,
    radius = canvasSize*0.8/2,
    s = Snap('#svg'),
    path = "",
    arc = s.path(path),    
    startY = centre-radius;

var d = 0;
var dr =0;

 radians = Math.PI*(dr)/180,
            endx = centre + radius*Math.cos(radians),
            endy = centre + radius * Math.sin(radians),
            largeArc = d>180 ? 1 : 0;  

var s = Snap("#svg");
// Lets create big circle in the middle:

path = "M"+centre+","+startY+" A"+radius+","+radius+" 0 "+largeArc+",1 "+endx+","+endy;

var arc = s.path(path);
// By default its black, lets change its attributes
 arc.attr({
          stroke: '#3da08d',
          fill: 'none',
          strokeWidth: 25
        });

最佳答案

也许我误会了,但是使用这个 CSS 可以用你的弧线做一个完美的圆:

svg{position:fixed;}
#svg3{left:-72px; top:88px;}
#svg4{left:88px; top:88px;}

http://jsfiddle.net/LtLafp2r/3/

Ps: 有个bug在 Chrome 中渲染路径弧:check this question

关于javascript - 有可能从零件中获得完美的 svg 圆圈吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25377921/

相关文章:

javascript - 捕获 SVG 并重新缩放为微型

javascript - 如何在特定浏览器宽度下运行 vbscript 代码

css - 使用纵横比背景图像将图像居中放置在 div 中

html - 尝试解决 MS Edge 不支持剪辑路径的问题

haskell - 使用 haskell 图表包设置 id 和 class

javascript - 具有有限高度和宽度的 D3 SVG

javascript - 监听 HTML 渲染进程事件

css - 有没有一种简单的方法可以将更宽的 div 添加到其他 div 的 Y 滚动容器中?

javascript - Firefox 中的 jQuery animate() Buggy

javascript - IE7 动画 GIF 显示为静态图像?