我们也可以为一个形状创建一个定义并重复使用,而不是一遍又一遍地重复相同的代码。在这里,我们定义了雪花的一个分叉,然后以不同的旋转方式使用了六次。
分支被定义为path
。前面我们已经介绍了如何绘制基本路径。在这里,我们以类似的方式绘制分支。我们可以使用移动到 (M
) 和直线到 (L
) 命令来绘制一条简单的直线,即主分支:
<svg
width="200"
height="200"
viewBox="-100 -100 200 200"
>
<path
d="M 0 0 L 0 -90"
stroke="#E5C39C"
stroke-width="5"
/>
</svg>
然后,我们可以继续绘制,并通过添加move-to和line-to命令来添加侧枝:
<svg
width="200"
height="200"
viewBox="-100 -100 200 200"
>
<path
d="
M 0 0 L 0 -90
M 0 -20 L 20 -34"
stroke="#E5C39C"
stroke-width="5"
/>
</svg>
完成后的树枝将是这样的
<svg
width="200"
height="200"
viewBox="-100 -100 200 200"
>
<path
id="branch"
d="
M 0 0 L 0 -90
M 0 -20 L 20 -34
M 0 -20 L -20 -34
M 0 -40 L 20 -54
M 0 -40 L -20 -54
M 0 -60 L 20 -74
M 0 -60 L -20 -74"
stroke="#E5C39C"
stroke-width="5"
/>
</svg>
然后,我们就可以把整个分支路径移到 defs
部分,并通过下面的 use
命令多次重复使用它。
然后,我们可以使用变换transform
命令将各个分支移动到正确的位置,方法与星形例子相同。
<svg width="200" height="200" viewBox="-100 -100 200 200">
<defs>
<path
id="branch"
d="
M 0 0 L 0 -90
M 0 -20 L 20 -34
M 0 -20 L -20 -34
M 0 -40 L 20 -54
M 0 -40 L -20 -54
M 0 -60 L 20 -74
M 0 -60 L -20 -74"
stroke="#E5C39C"
stroke-width="5"
/>
</defs>
<use href="#branch" />
<use href="#branch" transform="rotate(60)" />
<use href="#branch" transform="rotate(120)" />
<use href="#branch" transform="rotate(180)" />
<use href="#branch" transform="rotate(240)" />
<use href="#branch" transform="rotate(300)" />
</svg>
分享: |