如何使用单一路径绘制SVG曲线?

时间:2017-08-03 12:16:37

标签: css css3 svg svg-animate

我想要的是以下图片 -  enter image description here

  

我有3个相关问题

1.我们可以使用single path绘制整个画布。

2.如果我们只能使用多个路径绘制整体,那么给它们动画会很方便吗?

3.在这两种情况下,任何人都可以通过样本指导正确的方式。

这是我到目前为止的地方......因为你可以看到我不是SVG的专家,当然,你可以使用圆圈作为大点。提前谢谢。

svg {
  width: 100%;
}

.straightLine {
  height: 3000px;
  position: relative;
}

.st0 {
  fill: none;
  stroke-dashoffset: 3px;
  stroke: #000000;
  stroke-width: 5;
  stroke-miterlimit: 10;
}
<div class="straightLine">
  <svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 1280 1000" style="enable-background:new 0 0 1280 800;" xml:space="preserve">
	<g class="all">
	<path id="line1" class="st0" stroke-dasharray="10,9" d="M 35 -17 C 0 190 50 83 600 109 "/>
	<path id="line1" class="st0" stroke-dasharray="10,9" d="M 600 109  c 64.9 0 90.4 40.5 90.4 90.4"/>
	</g>
  </svg>
</div>

1 个答案:

答案 0 :(得分:1)

使用类似:

<path d="M 20 0 v 20 a 30 30 0 0 0 30 30 h 600 a 40 40 0 0 1 0 80 h -140 a 30 30 0 0 0 0 60 h 200 a 40 40 0 0 1 0 80 h -100 a 30 30 0 0 0 -30 30 v 20" />

the documentation所示,路径可以包含任意数量的组件。

总结:

M/m    Move current position
L/l    Draw a line
H/h    Draw a horizontal line
V/v    Draw a vertical line
C/c    Draw a cubic Bezier
Q/q    Draw a quadratic Bezier
A/a    Draw a circular/elliptal arc
Z/z    Close path

通常,大写指令指定绝对坐标,小写指令指定相对。