HTML5——Svg
<p><span style="font-size: 18pt"><strong>一、Svg简介</strong></span></p><p>svg也是html5新增的一个标签,它跟canvas很相似。都可以实现绘图、动画。</p>
<p>但是svg绘制出来的都是矢量图,不像canvas是以像素为单位的,放大会模糊。svg绘制出来的图是不会的</p>
<p><img src="https://img2018.cnblogs.com/blog/1646536/201908/1646536-20190816020231713-1769737664.png" alt=""></p>
<p> </p>
<p><span style="font-size: 18pt"><strong>二、svg的基本使用</strong></span></p>
<p>svg是在html和css里面操作的,不是在js里面</p>
<div class="cnblogs_code">
<pre><span style="color: rgba(0, 0, 255, 1)"><body><br> <</span><span style="color: rgba(128, 0, 0, 1)">svg </span><span style="color: rgba(255, 0, 0, 1)">width</span><span style="color: rgba(0, 0, 255, 1)">="500"</span><span style="color: rgba(255, 0, 0, 1)"> height</span><span style="color: rgba(0, 0, 255, 1)">="500"</span><span style="color: rgba(0, 0, 255, 1)">></span> <span style="color: rgba(0, 0, 255, 1)"><</span><span style="color: rgba(128, 0, 0, 1)">svg</span><span style="color: rgba(0, 0, 255, 1)">><br></body></span></pre>
</div>
<p>2.1 绘制直线</p>
<div class="cnblogs_code">
<pre> line{<br> stroke: red;<br> }<br><br><span style="color: rgba(0, 128, 0, 1)"> <!--</span><span style="color: rgba(0, 128, 0, 1)"> line(直线)前面两个值是起始点坐标,后面两个值是终点坐标 </span><span style="color: rgba(0, 128, 0, 1)">--></span>
<span style="color: rgba(0, 0, 255, 1)"><</span><span style="color: rgba(128, 0, 0, 1)">line </span><span style="color: rgba(255, 0, 0, 1)">x1</span><span style="color: rgba(0, 0, 255, 1)">="100"</span><span style="color: rgba(255, 0, 0, 1)"> y1</span><span style="color: rgba(0, 0, 255, 1)">="100"</span><span style="color: rgba(255, 0, 0, 1)"> x2</span><span style="color: rgba(0, 0, 255, 1)">="200"</span><span style="color: rgba(255, 0, 0, 1)"> y2</span><span style="color: rgba(0, 0, 255, 1)">="200"</span><span style="color: rgba(0, 0, 255, 1)">></</span><span style="color: rgba(128, 0, 0, 1)">line</span><span style="color: rgba(0, 0, 255, 1)">></span></pre>
</div>
<p><img src="https://img2018.cnblogs.com/blog/1646536/201908/1646536-20190815142604516-315861167.png" alt=""></p>
<p>2.2 绘制矩形</p>
<div class="cnblogs_code">
<pre> <span style="color: rgba(0, 128, 0, 1)"><!--</span><span style="color: rgba(0, 128, 0, 1)"> rect(矩形)前面两个值是位置,中间两个值是圆角,后面两个值是设置宽高 </span><span style="color: rgba(0, 128, 0, 1)">--></span>
<span style="color: rgba(0, 0, 255, 1)"><</span><span style="color: rgba(128, 0, 0, 1)">rect </span><span style="color: rgba(255, 0, 0, 1)">x</span><span style="color: rgba(0, 0, 255, 1)">="50"</span><span style="color: rgba(255, 0, 0, 1)"> y</span><span style="color: rgba(0, 0, 255, 1)">="20"</span><span style="color: rgba(255, 0, 0, 1)"> rx</span><span style="color: rgba(0, 0, 255, 1)">="10"</span><span style="color: rgba(255, 0, 0, 1)"> ry</span><span style="color: rgba(0, 0, 255, 1)">="10"</span><span style="color: rgba(255, 0, 0, 1)"> width</span><span style="color: rgba(0, 0, 255, 1)">="150"</span><span style="color: rgba(255, 0, 0, 1)"> height</span><span style="color: rgba(0, 0, 255, 1)">="150"</span><span style="color: rgba(0, 0, 255, 1)">></</span><span style="color: rgba(128, 0, 0, 1)">rect</span><span style="color: rgba(0, 0, 255, 1)">></span></pre>
</div>
<p><img src="https://img2018.cnblogs.com/blog/1646536/201908/1646536-20190815160124576-680678376.png" alt=""></p>
<p>我们来看看加上css样式,空心矩形</p>
<div class="cnblogs_code">
<pre><span style="color: rgba(0, 0, 0, 1)"> rect{
fill:transparent;//设置为透明色
stroke: red; //描边为红色
}</span></pre>
</div>
<p> <img src="https://img2018.cnblogs.com/blog/1646536/201908/1646536-20190815160323256-880577857.png" alt=""></p>
<p> </p>
<p>2.3 绘制圆弧</p>
<div class="cnblogs_code">
<pre> <span style="color: rgba(0, 128, 0, 1)"><!--</span><span style="color: rgba(0, 128, 0, 1)"> cirle(圆弧)前面第一个值是设置圆的半径,后面值是位置。实心圆</span><span style="color: rgba(0, 128, 0, 1)">--></span>
<span style="color: rgba(0, 128, 0, 1)"><!--</span><span style="color: rgba(0, 128, 0, 1)"> 可以在css设置为透明再设置描边,就会成空心圆 </span><span style="color: rgba(0, 128, 0, 1)">--></span>
<span style="color: rgba(0, 0, 255, 1)"><</span><span style="color: rgba(128, 0, 0, 1)">circle </span><span style="color: rgba(255, 0, 0, 1)">r</span><span style="color: rgba(0, 0, 255, 1)">="50"</span><span style="color: rgba(255, 0, 0, 1)"> cx</span><span style="color: rgba(0, 0, 255, 1)">="200"</span><span style="color: rgba(255, 0, 0, 1)"> cy</span><span style="color: rgba(0, 0, 255, 1)">="100"</span><span style="color: rgba(0, 0, 255, 1)">></</span><span style="color: rgba(128, 0, 0, 1)">circle</span><span style="color: rgba(0, 0, 255, 1)">></span></pre>
</div>
<p> <img src="https://img2018.cnblogs.com/blog/1646536/201908/1646536-20190815142931642-2128463597.png" alt=""></p>
<p>2.4 绘制椭圆</p>
<div class="cnblogs_code">
<pre> <span style="color: rgba(0, 128, 0, 1)"><!--</span><span style="color: rgba(0, 128, 0, 1)"> ellipse(椭圆) 第一个值为圆的宽度,第二个为圆的高度,后两值为圆的位置</span><span style="color: rgba(0, 128, 0, 1)">--></span>
<span style="color: rgba(0, 128, 0, 1)"><!--</span><span style="color: rgba(0, 128, 0, 1)"> 可以在css设置为透明再设置描边,就会成空心 </span><span style="color: rgba(0, 128, 0, 1)">--></span>
<span style="color: rgba(0, 0, 255, 1)"><</span><span style="color: rgba(128, 0, 0, 1)">ellipse </span><span style="color: rgba(255, 0, 0, 1)">rx</span><span style="color: rgba(0, 0, 255, 1)">="60"</span><span style="color: rgba(255, 0, 0, 1)"> ry</span><span style="color: rgba(0, 0, 255, 1)">="30"</span><span style="color: rgba(255, 0, 0, 1)"> cx</span><span style="color: rgba(0, 0, 255, 1)">="100"</span><span style="color: rgba(255, 0, 0, 1)"> cy</span><span style="color: rgba(0, 0, 255, 1)">="100"</span><span style="color: rgba(0, 0, 255, 1)">></</span><span style="color: rgba(128, 0, 0, 1)">ellipse</span><span style="color: rgba(0, 0, 255, 1)">></span></pre>
</div>
<p><img src="https://img2018.cnblogs.com/blog/1646536/201908/1646536-20190815143403416-1724632727.png" alt=""></p>
<p>2.5 绘制折线</p>
<div class="cnblogs_code">
<pre> <span style="color: rgba(0, 128, 0, 1)"><!--</span><span style="color: rgba(0, 128, 0, 1)"> polugon(折线) 起点会跟终点相连接 </span><span style="color: rgba(0, 128, 0, 1)">--></span>
<span style="color: rgba(0, 128, 0, 1)"><!--</span><span style="color: rgba(0, 128, 0, 1)"> 可以在css设置为透明再设置描边,就会成空心 </span><span style="color: rgba(0, 128, 0, 1)">--></span>
<span style="color: rgba(0, 0, 255, 1)"><</span><span style="color: rgba(128, 0, 0, 1)">polygon </span><span style="color: rgba(255, 0, 0, 1)">points</span><span style="color: rgba(0, 0, 255, 1)">="100 100, 200 50, 300 100, 400 50"</span><span style="color: rgba(0, 0, 255, 1)">></</span><span style="color: rgba(128, 0, 0, 1)">polygon</span><span style="color: rgba(0, 0, 255, 1)">></span>
<span style="color: rgba(0, 128, 0, 1)"><!--</span><span style="color: rgba(0, 128, 0, 1)"> poluline(折线) 起点会跟终点相连接 </span><span style="color: rgba(0, 128, 0, 1)">--></span>
<span style="color: rgba(0, 128, 0, 1)"><!--</span><span style="color: rgba(0, 128, 0, 1)"> 可以在css设置为透明再设置描边,就会成空心 </span><span style="color: rgba(0, 128, 0, 1)">--></span>
<span style="color: rgba(0, 0, 255, 1)"><</span><span style="color: rgba(128, 0, 0, 1)">polyline </span><span style="color: rgba(255, 0, 0, 1)">points</span><span style="color: rgba(0, 0, 255, 1)">="100 200, 200 150, 300 200, 400 150"</span><span style="color: rgba(0, 0, 255, 1)">></</span><span style="color: rgba(128, 0, 0, 1)">polyline</span><span style="color: rgba(0, 0, 255, 1)">></span></pre>
</div>
<p><img src="https://img2018.cnblogs.com/blog/1646536/201908/1646536-20190815143538326-1673383446.png" alt=""></p>
<p>2.6 绘制文本</p>
<div class="cnblogs_code">
<pre> <span style="color: rgba(0, 128, 0, 1)"><!--</span><span style="color: rgba(0, 128, 0, 1)"> text(文本)跟绝对定位一个道理 </span><span style="color: rgba(0, 128, 0, 1)">--></span>
<span style="color: rgba(0, 0, 255, 1)"><</span><span style="color: rgba(128, 0, 0, 1)">text </span><span style="color: rgba(255, 0, 0, 1)">x</span><span style="color: rgba(0, 0, 255, 1)">="400"</span><span style="color: rgba(255, 0, 0, 1)"> y</span><span style="color: rgba(0, 0, 255, 1)">=150</span><span style="color: rgba(0, 0, 255, 1)">></span>123<span style="color: rgba(0, 0, 255, 1)"></</span><span style="color: rgba(128, 0, 0, 1)">text</span><span style="color: rgba(0, 0, 255, 1)">></span></pre>
</div>
<p><img src="https://img2018.cnblogs.com/blog/1646536/201908/1646536-20190815143850070-140667496.png" alt=""></p>
<p><strong><span style="font-size: 18pt">三、样式属性</span></strong></p>
<p><span style="font-size: 18px"> <span style="font-size: 15px"> <span style="font-size: 18px">fill: 填充色 (默认为黑色)</span></span></span></p>
<p><span style="font-size: 18px"><span style="font-size: 15px"><img src="https://img2018.cnblogs.com/blog/1646536/201908/1646536-20190815145155652-821966139.png" alt=""></span></span></p>
<p><img src="https://img2018.cnblogs.com/blog/1646536/201908/1646536-20190815145210008-1335635321.png" alt=""></p>
<p> </p>
<p><span style="font-size: 15px"> <span style="font-size: 18px">stroke: 线条的颜色(默认为黑色)</span></span></p>
<p><span style="font-size: 15px"><span style="font-size: 18px"><img src="https://img2018.cnblogs.com/blog/1646536/201908/1646536-20190815150023568-191697008.png" alt=""></span></span></p>
<p><img src="https://img2018.cnblogs.com/blog/1646536/201908/1646536-20190815150032598-945791071.png" alt=""></p>
<p> </p>
<p><span style="font-size: 18px"> stroke-width: 线条的宽度</span></p>
<p><span style="font-size: 18px"><img src="https://img2018.cnblogs.com/blog/1646536/201908/1646536-20190815150125359-2051890223.png" alt=""></span></p>
<p><img src="https://img2018.cnblogs.com/blog/1646536/201908/1646536-20190815150132721-1054712369.png" alt=""></p>
<p> </p>
<p><span style="font-size: 18px"> stroke-linecap: 线条末尾的样式 (默认)butt (圆角)round (方形)square ,round和square会影响线条的长度</span></p>
<p><span style="font-size: 15px"> 默认的样式就不设置了,设置跟设置没上面两样</span></p>
<p><span style="font-size: 15px"> round(圆角)</span></p>
<p><span style="font-size: 15px"> <img src="https://img2018.cnblogs.com/blog/1646536/201908/1646536-20190815150940642-1597661084.png" alt=""></span></p>
<p> <img src="https://img2018.cnblogs.com/blog/1646536/201908/1646536-20190815150952626-1164841527.png" alt=""></p>
<p> square(方形)</p>
<p> <img src="https://img2018.cnblogs.com/blog/1646536/201908/1646536-20190815151109324-46067458.png" alt=""></p>
<p> <img src="https://img2018.cnblogs.com/blog/1646536/201908/1646536-20190815151447812-269914801.png" alt=""></p>
<p> <span style="font-size: 18px"> stroke-linejoin:可使用的值是:miter, round, bevel, inherit 笔划连 接属性定义了路径拐角的形状,"miter"是默认值,"round"光滑连接,"bevel"折线连接,"inherit"继 承</span></p>
<p><span style="font-size: 18px"> round</span></p>
<p><span style="font-size: 18px"><img src="https://img2018.cnblogs.com/blog/1646536/201908/1646536-20190815154446633-1574982828.png" alt=""></span></p>
<p><img src="https://img2018.cnblogs.com/blog/1646536/201908/1646536-20190815154457109-427899743.png" alt=""></p>
<p><span style="font-size: 16px"> bevel</span></p>
<p><span style="font-size: 16px"><img src="https://img2018.cnblogs.com/blog/1646536/201908/1646536-20190815154600362-330979373.png" alt=""></span></p>
<p><img src="https://img2018.cnblogs.com/blog/1646536/201908/1646536-20190815154606934-430562377.png" alt=""></p>
<p> </p>
<p><span style="font-size: 18px"> opacity: 不透明度 0~1(可以设置填充的,也可以描边的)</span></p>
<p><span style="font-size: 18px"> <img src="https://img2018.cnblogs.com/blog/1646536/201908/1646536-20190815151713813-512668055.png" alt=""></span></p>
<p> <img src="https://img2018.cnblogs.com/blog/1646536/201908/1646536-20190815151938990-49767213.png" alt=""></p>
<p><img src="https://img2018.cnblogs.com/blog/1646536/201908/1646536-20190815152103479-1144140355.png" alt=""></p>
<p><span style="font-size: 14pt">用上面所学的知识来做个小demo</span></p>
<p><span style="font-size: 14pt"><img src="https://img2018.cnblogs.com/blog/1646536/201908/1646536-20190815162901966-816273801.png" alt=""></span></p>
<div class="cnblogs_code">
<pre><span style="color: rgba(0, 0, 255, 1)"><!</span><span style="color: rgba(255, 0, 255, 1)">DOCTYPE html</span><span style="color: rgba(0, 0, 255, 1)">></span>
<span style="color: rgba(0, 0, 255, 1)"><</span><span style="color: rgba(128, 0, 0, 1)">html </span><span style="color: rgba(255, 0, 0, 1)">lang</span><span style="color: rgba(0, 0, 255, 1)">="en"</span><span style="color: rgba(0, 0, 255, 1)">></span>
<span style="color: rgba(0, 0, 255, 1)"><</span><span style="color: rgba(128, 0, 0, 1)">head</span><span style="color: rgba(0, 0, 255, 1)">></span>
<span style="color: rgba(0, 0, 255, 1)"><</span><span style="color: rgba(128, 0, 0, 1)">meta </span><span style="color: rgba(255, 0, 0, 1)">charset</span><span style="color: rgba(0, 0, 255, 1)">="UTF-8"</span><span style="color: rgba(0, 0, 255, 1)">></span>
<span style="color: rgba(0, 0, 255, 1)"><</span><span style="color: rgba(128, 0, 0, 1)">meta </span><span style="color: rgba(255, 0, 0, 1)">name</span><span style="color: rgba(0, 0, 255, 1)">="viewport"</span><span style="color: rgba(255, 0, 0, 1)"> content</span><span style="color: rgba(0, 0, 255, 1)">="width=device-width, initial-scale=1.0"</span><span style="color: rgba(0, 0, 255, 1)">></span>
<span style="color: rgba(0, 0, 255, 1)"><</span><span style="color: rgba(128, 0, 0, 1)">meta </span><span style="color: rgba(255, 0, 0, 1)">http-equiv</span><span style="color: rgba(0, 0, 255, 1)">="X-UA-Compatible"</span><span style="color: rgba(255, 0, 0, 1)"> content</span><span style="color: rgba(0, 0, 255, 1)">="ie=edge"</span><span style="color: rgba(0, 0, 255, 1)">></span>
<span style="color: rgba(0, 0, 255, 1)"><</span><span style="color: rgba(128, 0, 0, 1)">title</span><span style="color: rgba(0, 0, 255, 1)">></span>Document<span style="color: rgba(0, 0, 255, 1)"></</span><span style="color: rgba(128, 0, 0, 1)">title</span><span style="color: rgba(0, 0, 255, 1)">></span>
<span style="color: rgba(0, 0, 255, 1)"><</span><span style="color: rgba(128, 0, 0, 1)">style</span><span style="color: rgba(0, 0, 255, 1)">></span><span style="background-color: rgba(245, 245, 245, 1); color: rgba(128, 0, 0, 1)">
svg </span><span style="background-color: rgba(245, 245, 245, 1); color: rgba(0, 0, 0, 1)">{</span><span style="background-color: rgba(245, 245, 245, 1); color: rgba(255, 0, 0, 1)">
margin-left</span><span style="background-color: rgba(245, 245, 245, 1); color: rgba(0, 0, 0, 1)">:</span><span style="background-color: rgba(245, 245, 245, 1); color: rgba(0, 0, 255, 1)"> 100px</span><span style="background-color: rgba(245, 245, 245, 1); color: rgba(0, 0, 0, 1)">;</span><span style="background-color: rgba(245, 245, 245, 1); color: rgba(255, 0, 0, 1)">
margin-top</span><span style="background-color: rgba(245, 245, 245, 1); color: rgba(0, 0, 0, 1)">:</span><span style="background-color: rgba(245, 245, 245, 1); color: rgba(0, 0, 255, 1)"> 100px</span><span style="background-color: rgba(245, 245, 245, 1); color: rgba(0, 0, 0, 1)">;</span><span style="background-color: rgba(245, 245, 245, 1); color: rgba(255, 0, 0, 1)">
border</span><span style="background-color: rgba(245, 245, 245, 1); color: rgba(0, 0, 0, 1)">:</span><span style="background-color: rgba(245, 245, 245, 1); color: rgba(0, 0, 255, 1)"> 1px solid black</span><span style="background-color: rgba(245, 245, 245, 1); color: rgba(0, 0, 0, 1)">;</span>
<span style="background-color: rgba(245, 245, 245, 1); color: rgba(0, 0, 0, 1)">}</span><span style="background-color: rgba(245, 245, 245, 1); color: rgba(128, 0, 0, 1)">
rect</span><span style="background-color: rgba(245, 245, 245, 1); color: rgba(0, 0, 0, 1)">{</span><span style="background-color: rgba(245, 245, 245, 1); color: rgba(255, 0, 0, 1)">
fill</span><span style="background-color: rgba(245, 245, 245, 1); color: rgba(0, 0, 0, 1)">:</span><span style="background-color: rgba(245, 245, 245, 1); color: rgba(0, 0, 255, 1)"> transparent</span><span style="background-color: rgba(245, 245, 245, 1); color: rgba(0, 0, 0, 1)">;</span><span style="background-color: rgba(245, 245, 245, 1); color: rgba(255, 0, 0, 1)">
stroke</span><span style="background-color: rgba(245, 245, 245, 1); color: rgba(0, 0, 0, 1)">:</span><span style="background-color: rgba(245, 245, 245, 1); color: rgba(0, 0, 255, 1)"> black</span><span style="background-color: rgba(245, 245, 245, 1); color: rgba(0, 0, 0, 1)">;</span><span style="background-color: rgba(245, 245, 245, 1); color: rgba(255, 0, 0, 1)">
stroke-width</span><span style="background-color: rgba(245, 245, 245, 1); color: rgba(0, 0, 0, 1)">:</span><span style="background-color: rgba(245, 245, 245, 1); color: rgba(0, 0, 255, 1)"> 5px</span><span style="background-color: rgba(245, 245, 245, 1); color: rgba(0, 0, 0, 1)">;</span>
<span style="background-color: rgba(245, 245, 245, 1); color: rgba(0, 0, 0, 1)">}</span><span style="background-color: rgba(245, 245, 245, 1); color: rgba(128, 0, 0, 1)">
polygon</span><span style="background-color: rgba(245, 245, 245, 1); color: rgba(0, 0, 0, 1)">{</span><span style="background-color: rgba(245, 245, 245, 1); color: rgba(255, 0, 0, 1)">
fill</span><span style="background-color: rgba(245, 245, 245, 1); color: rgba(0, 0, 0, 1)">:</span><span style="background-color: rgba(245, 245, 245, 1); color: rgba(0, 0, 255, 1)"> black</span><span style="background-color: rgba(245, 245, 245, 1); color: rgba(0, 0, 0, 1)">;</span>
<span style="background-color: rgba(245, 245, 245, 1); color: rgba(0, 0, 0, 1)">}</span><span style="background-color: rgba(245, 245, 245, 1); color: rgba(128, 0, 0, 1)">
circle</span><span style="background-color: rgba(245, 245, 245, 1); color: rgba(0, 0, 0, 1)">{</span><span style="background-color: rgba(245, 245, 245, 1); color: rgba(255, 0, 0, 1)">
fill</span><span style="background-color: rgba(245, 245, 245, 1); color: rgba(0, 0, 0, 1)">:</span><span style="background-color: rgba(245, 245, 245, 1); color: rgba(0, 0, 255, 1)"> transparent</span><span style="background-color: rgba(245, 245, 245, 1); color: rgba(0, 0, 0, 1)">;</span><span style="background-color: rgba(245, 245, 245, 1); color: rgba(255, 0, 0, 1)">
stroke</span><span style="background-color: rgba(245, 245, 245, 1); color: rgba(0, 0, 0, 1)">:</span><span style="background-color: rgba(245, 245, 245, 1); color: rgba(0, 0, 255, 1)"> black</span><span style="background-color: rgba(245, 245, 245, 1); color: rgba(0, 0, 0, 1)">;</span><span style="background-color: rgba(245, 245, 245, 1); color: rgba(255, 0, 0, 1)">
stroke-width</span><span style="background-color: rgba(245, 245, 245, 1); color: rgba(0, 0, 0, 1)">:</span><span style="background-color: rgba(245, 245, 245, 1); color: rgba(0, 0, 255, 1)"> 4px</span><span style="background-color: rgba(245, 245, 245, 1); color: rgba(0, 0, 0, 1)">;</span>
<span style="background-color: rgba(245, 245, 245, 1); color: rgba(0, 0, 0, 1)">}</span><span style="background-color: rgba(245, 245, 245, 1); color: rgba(128, 0, 0, 1)">
.yan</span><span style="background-color: rgba(245, 245, 245, 1); color: rgba(0, 0, 0, 1)">{</span><span style="background-color: rgba(245, 245, 245, 1); color: rgba(255, 0, 0, 1)">
fill</span><span style="background-color: rgba(245, 245, 245, 1); color: rgba(0, 0, 0, 1)">:</span><span style="background-color: rgba(245, 245, 245, 1); color: rgba(0, 0, 255, 1)"> black</span><span style="background-color: rgba(245, 245, 245, 1); color: rgba(0, 0, 0, 1)">;</span>
<span style="background-color: rgba(245, 245, 245, 1); color: rgba(0, 0, 0, 1)">}</span><span style="background-color: rgba(245, 245, 245, 1); color: rgba(128, 0, 0, 1)">
.bi</span><span style="background-color: rgba(245, 245, 245, 1); color: rgba(0, 0, 0, 1)">{</span><span style="background-color: rgba(245, 245, 245, 1); color: rgba(255, 0, 0, 1)">
fill</span><span style="background-color: rgba(245, 245, 245, 1); color: rgba(0, 0, 0, 1)">:</span><span style="background-color: rgba(245, 245, 245, 1); color: rgba(0, 0, 255, 1)"> transparent</span><span style="background-color: rgba(245, 245, 245, 1); color: rgba(0, 0, 0, 1)">;</span><span style="background-color: rgba(245, 245, 245, 1); color: rgba(255, 0, 0, 1)">
stroke</span><span style="background-color: rgba(245, 245, 245, 1); color: rgba(0, 0, 0, 1)">:</span><span style="background-color: rgba(245, 245, 245, 1); color: rgba(0, 0, 255, 1)"> black</span><span style="background-color: rgba(245, 245, 245, 1); color: rgba(0, 0, 0, 1)">;</span><span style="background-color: rgba(245, 245, 245, 1); color: rgba(255, 0, 0, 1)">
stroke-width</span><span style="background-color: rgba(245, 245, 245, 1); color: rgba(0, 0, 0, 1)">:</span><span style="background-color: rgba(245, 245, 245, 1); color: rgba(0, 0, 255, 1)"> 3px</span><span style="background-color: rgba(245, 245, 245, 1); color: rgba(0, 0, 0, 1)">;</span>
<span style="background-color: rgba(245, 245, 245, 1); color: rgba(0, 0, 0, 1)">}</span><span style="background-color: rgba(245, 245, 245, 1); color: rgba(128, 0, 0, 1)">
ellipse</span><span style="background-color: rgba(245, 245, 245, 1); color: rgba(0, 0, 0, 1)">{</span><span style="background-color: rgba(245, 245, 245, 1); color: rgba(255, 0, 0, 1)">
fill</span><span style="background-color: rgba(245, 245, 245, 1); color: rgba(0, 0, 0, 1)">:</span><span style="background-color: rgba(245, 245, 245, 1); color: rgba(0, 0, 255, 1)"> transparent</span><span style="background-color: rgba(245, 245, 245, 1); color: rgba(0, 0, 0, 1)">;</span><span style="background-color: rgba(245, 245, 245, 1); color: rgba(255, 0, 0, 1)">
stroke</span><span style="background-color: rgba(245, 245, 245, 1); color: rgba(0, 0, 0, 1)">:</span><span style="background-color: rgba(245, 245, 245, 1); color: rgba(0, 0, 255, 1)"> black</span><span style="background-color: rgba(245, 245, 245, 1); color: rgba(0, 0, 0, 1)">;</span><span style="background-color: rgba(245, 245, 245, 1); color: rgba(255, 0, 0, 1)">
stroke-width</span><span style="background-color: rgba(245, 245, 245, 1); color: rgba(0, 0, 0, 1)">:</span><span style="background-color: rgba(245, 245, 245, 1); color: rgba(0, 0, 255, 1)"> 3px</span><span style="background-color: rgba(245, 245, 245, 1); color: rgba(0, 0, 0, 1)">;</span>
<span style="background-color: rgba(245, 245, 245, 1); color: rgba(0, 0, 0, 1)">}</span><span style="background-color: rgba(245, 245, 245, 1); color: rgba(128, 0, 0, 1)">
text</span><span style="background-color: rgba(245, 245, 245, 1); color: rgba(0, 0, 0, 1)">{</span><span style="background-color: rgba(245, 245, 245, 1); color: rgba(255, 0, 0, 1)">
stroke</span><span style="background-color: rgba(245, 245, 245, 1); color: rgba(0, 0, 0, 1)">:</span><span style="background-color: rgba(245, 245, 245, 1); color: rgba(0, 0, 255, 1)"> red</span><span style="background-color: rgba(245, 245, 245, 1); color: rgba(0, 0, 0, 1)">;</span>
<span style="background-color: rgba(245, 245, 245, 1); color: rgba(0, 0, 0, 1)">}</span>
<span style="color: rgba(0, 0, 255, 1)"></</span><span style="color: rgba(128, 0, 0, 1)">style</span><span style="color: rgba(0, 0, 255, 1)">></span>
<span style="color: rgba(0, 0, 255, 1)"></</span><span style="color: rgba(128, 0, 0, 1)">head</span><span style="color: rgba(0, 0, 255, 1)">></span>
<span style="color: rgba(0, 0, 255, 1)"><</span><span style="color: rgba(128, 0, 0, 1)">body</span><span style="color: rgba(0, 0, 255, 1)">></span>
<span style="color: rgba(0, 0, 255, 1)"><</span><span style="color: rgba(128, 0, 0, 1)">svg </span><span style="color: rgba(255, 0, 0, 1)">width</span><span style="color: rgba(0, 0, 255, 1)">="500"</span><span style="color: rgba(255, 0, 0, 1)"> height</span><span style="color: rgba(0, 0, 255, 1)">="500"</span><span style="color: rgba(0, 0, 255, 1)">></span>
<span style="color: rgba(0, 0, 255, 1)"><</span><span style="color: rgba(128, 0, 0, 1)">rect </span><span style="color: rgba(255, 0, 0, 1)">x</span><span style="color: rgba(0, 0, 255, 1)">="100"</span><span style="color: rgba(255, 0, 0, 1)"> y</span><span style="color: rgba(0, 0, 255, 1)">="100"</span><span style="color: rgba(255, 0, 0, 1)"> rx</span><span style="color: rgba(0, 0, 255, 1)">="15"</span><span style="color: rgba(255, 0, 0, 1)"> ry</span><span style="color: rgba(0, 0, 255, 1)">="15"</span><span style="color: rgba(255, 0, 0, 1)"> width</span><span style="color: rgba(0, 0, 255, 1)">="300"</span><span style="color: rgba(255, 0, 0, 1)"> height</span><span style="color: rgba(0, 0, 255, 1)">="300"</span><span style="color: rgba(0, 0, 255, 1)">></</span><span style="color: rgba(128, 0, 0, 1)">rect</span><span style="color: rgba(0, 0, 255, 1)">></span>
<span style="color: rgba(0, 0, 255, 1)"><</span><span style="color: rgba(128, 0, 0, 1)">polygon </span><span style="color: rgba(255, 0, 0, 1)">points</span><span style="color: rgba(0, 0, 255, 1)">="110 100, 130 60, 190 95, 250 60, 310 95,370 60, 390 100"</span><span style="color: rgba(0, 0, 255, 1)">></</span><span style="color: rgba(128, 0, 0, 1)">polygon</span><span style="color: rgba(0, 0, 255, 1)">></span>
<span style="color: rgba(0, 0, 255, 1)"><</span><span style="color: rgba(128, 0, 0, 1)">circle </span><span style="color: rgba(255, 0, 0, 1)">r</span><span style="color: rgba(0, 0, 255, 1)">="20"</span><span style="color: rgba(255, 0, 0, 1)"> cx</span><span style="color: rgba(0, 0, 255, 1)">="190"</span><span style="color: rgba(255, 0, 0, 1)"> cy</span><span style="color: rgba(0, 0, 255, 1)">="200"</span><span style="color: rgba(0, 0, 255, 1)">></</span><span style="color: rgba(128, 0, 0, 1)">circle</span><span style="color: rgba(0, 0, 255, 1)">></span>
<span style="color: rgba(0, 0, 255, 1)"><</span><span style="color: rgba(128, 0, 0, 1)">circle </span><span style="color: rgba(255, 0, 0, 1)">r</span><span style="color: rgba(0, 0, 255, 1)">="20"</span><span style="color: rgba(255, 0, 0, 1)"> cx</span><span style="color: rgba(0, 0, 255, 1)">="320"</span><span style="color: rgba(255, 0, 0, 1)"> cy</span><span style="color: rgba(0, 0, 255, 1)">="200"</span><span style="color: rgba(0, 0, 255, 1)">></</span><span style="color: rgba(128, 0, 0, 1)">circle</span><span style="color: rgba(0, 0, 255, 1)">></span>
<span style="color: rgba(0, 0, 255, 1)"><</span><span style="color: rgba(128, 0, 0, 1)">circle </span><span style="color: rgba(255, 0, 0, 1)">class</span><span style="color: rgba(0, 0, 255, 1)">="yan"</span><span style="color: rgba(255, 0, 0, 1)"> r</span><span style="color: rgba(0, 0, 255, 1)">="5"</span><span style="color: rgba(255, 0, 0, 1)"> cx</span><span style="color: rgba(0, 0, 255, 1)">="198"</span><span style="color: rgba(255, 0, 0, 1)"> cy</span><span style="color: rgba(0, 0, 255, 1)">="208"</span><span style="color: rgba(0, 0, 255, 1)">></</span><span style="color: rgba(128, 0, 0, 1)">circle</span><span style="color: rgba(0, 0, 255, 1)">></span>
<span style="color: rgba(0, 0, 255, 1)"><</span><span style="color: rgba(128, 0, 0, 1)">circle </span><span style="color: rgba(255, 0, 0, 1)">class</span><span style="color: rgba(0, 0, 255, 1)">="yan"</span><span style="color: rgba(255, 0, 0, 1)"> r</span><span style="color: rgba(0, 0, 255, 1)">="5"</span><span style="color: rgba(255, 0, 0, 1)"> cx</span><span style="color: rgba(0, 0, 255, 1)">="328"</span><span style="color: rgba(255, 0, 0, 1)"> cy</span><span style="color: rgba(0, 0, 255, 1)">="208"</span><span style="color: rgba(0, 0, 255, 1)">></</span><span style="color: rgba(128, 0, 0, 1)">circle</span><span style="color: rgba(0, 0, 255, 1)">></span>
<span style="color: rgba(0, 0, 255, 1)"><</span><span style="color: rgba(128, 0, 0, 1)">polygon </span><span style="color: rgba(255, 0, 0, 1)">class</span><span style="color: rgba(0, 0, 255, 1)">="bi"</span><span style="color: rgba(255, 0, 0, 1)"> points</span><span style="color: rgba(0, 0, 255, 1)">="240 300, 250 260, 270 300"</span><span style="color: rgba(0, 0, 255, 1)">></</span><span style="color: rgba(128, 0, 0, 1)">polygon</span><span style="color: rgba(0, 0, 255, 1)">></span>
<span style="color: rgba(0, 0, 255, 1)"><</span><span style="color: rgba(128, 0, 0, 1)">ellipse </span><span style="color: rgba(255, 0, 0, 1)">rx</span><span style="color: rgba(0, 0, 255, 1)">="30"</span><span style="color: rgba(255, 0, 0, 1)"> ry</span><span style="color: rgba(0, 0, 255, 1)">="10"</span><span style="color: rgba(255, 0, 0, 1)"> cx</span><span style="color: rgba(0, 0, 255, 1)">="260"</span><span style="color: rgba(255, 0, 0, 1)"> cy</span><span style="color: rgba(0, 0, 255, 1)">="330"</span><span style="color: rgba(0, 0, 255, 1)">></</span><span style="color: rgba(128, 0, 0, 1)">ellipse</span><span style="color: rgba(0, 0, 255, 1)">></span>
<span style="color: rgba(0, 0, 255, 1)"><</span><span style="color: rgba(128, 0, 0, 1)">text </span><span style="color: rgba(255, 0, 0, 1)">x</span><span style="color: rgba(0, 0, 255, 1)">="200"</span><span style="color: rgba(255, 0, 0, 1)"> y</span><span style="color: rgba(0, 0, 255, 1)">="440"</span><span style="color: rgba(0, 0, 255, 1)">></span>屏幕前的你很帅<span style="color: rgba(0, 0, 255, 1)"></</span><span style="color: rgba(128, 0, 0, 1)">text</span><span style="color: rgba(0, 0, 255, 1)">></span>
<span style="color: rgba(0, 0, 255, 1)"></</span><span style="color: rgba(128, 0, 0, 1)">svg</span><span style="color: rgba(0, 0, 255, 1)">></span>
<span style="color: rgba(0, 0, 255, 1)"></</span><span style="color: rgba(128, 0, 0, 1)">body</span><span style="color: rgba(0, 0, 255, 1)">></span>
<span style="color: rgba(0, 0, 255, 1)"></</span><span style="color: rgba(128, 0, 0, 1)">html</span><span style="color: rgba(0, 0, 255, 1)">></span></pre>
</div>
<p><strong><span style="font-size: 18pt"> 四、path元素(指令)</span></strong></p>
<p><span style="font-size: 18px"><strong>moveTo lineTo</strong></span></p>
<p> 4.1 M命令和L命令</p>
<div class="cnblogs_code">
<pre><span style="color: rgba(0, 0, 255, 1)"><</span><span style="color: rgba(128, 0, 0, 1)">path </span><span style="color: rgba(255, 0, 0, 1)">d </span><span style="color: rgba(0, 0, 255, 1)">= "M 100 100 L 200 100 "</span><span style="color: rgba(0, 0, 255, 1)">></</span><span style="color: rgba(128, 0, 0, 1)">path</span><span style="color: rgba(0, 0, 255, 1)">></span></pre>
</div>
<p><img src="https://img2018.cnblogs.com/blog/1646536/201908/1646536-20190815170417200-1156039525.png" alt=""></p>
<p>4.2 m命令和l命令</p>
<div class="cnblogs_code">
<pre><span style="color: rgba(0, 0, 255, 1)"><</span><span style="color: rgba(128, 0, 0, 1)">path </span><span style="color: rgba(255, 0, 0, 1)">d</span><span style="color: rgba(0, 0, 255, 1)">="m 100 100 l 200 100 "</span><span style="color: rgba(0, 0, 255, 1)">></</span><span style="color: rgba(128, 0, 0, 1)">path</span><span style="color: rgba(0, 0, 255, 1)">></span></pre>
</div>
<p><img src="https://img2018.cnblogs.com/blog/1646536/201908/1646536-20190815170750883-1218463142.png" alt=""></p>
<p> </p>
<p> 大写表示绝对定位,小写表示相对定位</p>
<p>绝对坐标和相对坐标,相对于上个移动距离</p>
<p> </p>
<p>4.3 H和V命令</p>
<div class="cnblogs_code">
<pre> <span style="color: rgba(0, 128, 0, 1)"><!--</span><span style="color: rgba(0, 128, 0, 1)"> H水平方向V竖着方向 </span><span style="color: rgba(0, 128, 0, 1)">--></span>
<span style="color: rgba(0, 0, 255, 1)"><</span><span style="color: rgba(128, 0, 0, 1)">path </span><span style="color: rgba(255, 0, 0, 1)">d</span><span style="color: rgba(0, 0, 255, 1)">="M 100 100 H 200 V 200"</span><span style="color: rgba(0, 0, 255, 1)">></</span><span style="color: rgba(128, 0, 0, 1)">path</span><span style="color: rgba(0, 0, 255, 1)">></span></pre>
</div>
<p><img src="https://img2018.cnblogs.com/blog/1646536/201908/1646536-20190815181200003-1453083021.png" alt=""></p>
<p> </p>
<p> 大写表示绝对定位,小写表示相对定位</p>
<p>绝对坐标和相对坐标,相对于上个移动距离</p>
<p> 4.4 Z命令</p>
<div class="cnblogs_code">
<pre><span style="color: rgba(0, 0, 255, 1)"><</span><span style="color: rgba(128, 0, 0, 1)">path </span><span style="color: rgba(255, 0, 0, 1)">d</span><span style="color: rgba(0, 0, 255, 1)">="M 100 100 H 200 V 200 Z"</span><span style="color: rgba(0, 0, 255, 1)">></</span><span style="color: rgba(128, 0, 0, 1)">path</span><span style="color: rgba(0, 0, 255, 1)">></span></pre>
</div>
<p><img src="https://img2018.cnblogs.com/blog/1646536/201908/1646536-20190815181544053-2122884627.png" alt=""></p>
<p><strong><span style="font-size: 18px">圆弧指令</span></strong> </p>
<p>4.5 A命令 <span style="font-size: 16px">可以传7个参数 rx, ry, x-axis-rotaion, large-arc-flag, sweep-flag, x, y</span></p>
<p> </p>
<p>rx, ry圆弧的x轴半径和y轴半径</p>
<p>x-axis-rotaion 圆弧的相对x轴的旋转角度,默认是顺时针,可以设置负值</p>
<p>large-arc-flag 表示圆弧路径是大圆弧还是小圆弧,1是大圆弧,0是小圆弧</p>
<p>sweep-flag 表示从起点到终点是顺时针还是逆时针,1表示顺时针,0表示逆时针</p>
<p>x, y 表示终点坐标,绝对或相对</p>
<p><img src="https://img2018.cnblogs.com/blog/1646536/201908/1646536-20190815213633140-619474121.png" alt=""></p>
<p> </p>
<div class="cnblogs_code">
<pre><span style="color: rgba(0, 0, 255, 1)"><</span><span style="color: rgba(128, 0, 0, 1)">path </span><span style="color: rgba(255, 0, 0, 1)">d</span><span style="color: rgba(0, 0, 255, 1)">="M 100 100 A 70 120 90 1 1 100 200"</span><span style="color: rgba(0, 0, 255, 1)">></</span><span style="color: rgba(128, 0, 0, 1)">path</span><span style="color: rgba(0, 0, 255, 1)">></span></pre>
</div>
<p><img src="https://img2018.cnblogs.com/blog/1646536/201908/1646536-20190815213531816-1425775117.png" alt=""></p>
<p> 如果不懂获取不清楚可以评论找我,或者自己多试试参数研究研究</p>
<p><span style="font-size: 18pt"><strong> 五、贝塞尔曲线</strong></span></p>
<p> 5.1 二次贝塞尔曲线</p>
<p>Q x1, y1, x, y </p>
<p>T x , y</p>
<div class="cnblogs_code">
<pre><span style="color: rgba(0, 0, 255, 1)"><</span><span style="color: rgba(128, 0, 0, 1)">path </span><span style="color: rgba(255, 0, 0, 1)">d </span><span style="color: rgba(0, 0, 255, 1)">= "M 100 100 Q 200 50 300 300"</span><span style="color: rgba(0, 0, 255, 1)">></</span><span style="color: rgba(128, 0, 0, 1)">path</span><span style="color: rgba(0, 0, 255, 1)">></span></pre>
</div>
<p><img src="https://img2018.cnblogs.com/blog/1646536/201908/1646536-20190815225607714-435879968.png" alt=""></p>
<p>加上T</p>
<div class="cnblogs_code">
<pre><span style="color: rgba(0, 0, 255, 1)"><</span><span style="color: rgba(128, 0, 0, 1)">path </span><span style="color: rgba(255, 0, 0, 1)">d </span><span style="color: rgba(0, 0, 255, 1)">= "M 100 100 Q 200 50 300 300 T 450 200"</span><span style="color: rgba(0, 0, 255, 1)">></</span><span style="color: rgba(128, 0, 0, 1)">path</span><span style="color: rgba(0, 0, 255, 1)">></span></pre>
</div>
<p><img src="https://img2018.cnblogs.com/blog/1646536/201908/1646536-20190815230048675-2032961058.png" alt=""></p>
<p>做个小demo(logo)</p>
<div class="cnblogs_code">
<pre> <span style="color: rgba(0, 0, 255, 1)"><</span><span style="color: rgba(128, 0, 0, 1)">path </span><span style="color: rgba(255, 0, 0, 1)">d</span><span style="color: rgba(0, 0, 255, 1)">="M 120 280 Q 80 460 300 310 T 450 200"</span><span style="color: rgba(0, 0, 255, 1)">></</span><span style="color: rgba(128, 0, 0, 1)">path</span><span style="color: rgba(0, 0, 255, 1)">></span>
<span style="color: rgba(0, 0, 255, 1)"><</span><span style="color: rgba(128, 0, 0, 1)">path </span><span style="color: rgba(255, 0, 0, 1)">d</span><span style="color: rgba(0, 0, 255, 1)">="M 120 280 Q 115 360 280 284 T 450 200"</span><span style="color: rgba(0, 0, 255, 1)">></</span><span style="color: rgba(128, 0, 0, 1)">path</span><span style="color: rgba(0, 0, 255, 1)">></span></pre>
</div>
<p><img src="https://img2018.cnblogs.com/blog/1646536/201908/1646536-20190815230139797-693137606.png" alt=""></p>
<p>5.2 三次贝塞尔曲线 </p>
<p>C : x1, y1, x2, y2, x, y</p>
<p>S: x2, y2, x, y </p>
<div class="cnblogs_code">
<pre> <span style="color: rgba(0, 0, 255, 1)"><</span><span style="color: rgba(128, 0, 0, 1)">path </span><span style="color: rgba(255, 0, 0, 1)">d</span><span style="color: rgba(0, 0, 255, 1)">="M 100 100 C 190 140 230 80 280 120 S 250 160 280 120"</span><span style="color: rgba(0, 0, 255, 1)">></</span><span style="color: rgba(128, 0, 0, 1)">path</span><span style="color: rgba(0, 0, 255, 1)">></span></pre>
</div>
<p>都差不多是一个道理,自己试试就可以懂的</p>
<p>自动生成绘制路径的网站:https://editor.method.ac/</p>
<p> 绘制出自己想要的样式,然后按 ctrl+U 把代码拿出来用</p>
<p><img src="https://img2018.cnblogs.com/blog/1646536/201908/1646536-20190815233036471-2010586519.png" alt=""></p>
<p><strong><span style="font-size: 18pt">六、渐变</span></strong></p>
<p> 6.1 线性渐变</p>
<p><linearGradient> 可用来定义 SVG 的线性渐变。</p>
<p><linearGradient> 标签必须嵌套在 <defs> 的内部。<defs> 标签是 definitions 的缩写,它可对诸如渐变之类的特殊元素进行定义。</p>
<p>线性渐变可被定义为水平、垂直或角形的渐变:</p>
<ul class=" list-paddingleft-2">
<li>
<p>当 y1 和 y2 相等,而 x1 和 x2 不同时,可创建水平渐变</p>
</li>
<li>
<p>当 x1 和 x2 相等,而 y1 和 y2 不同时,可创建垂直渐变</p>
</li>
<li>
<p>当 x1 和 x2 不同,且 y1 和 y2 不同时,可创建角形渐变</p>
</li>
</ul>
<div class="cnblogs_code">
<pre> <span style="color: rgba(0, 0, 255, 1)"><</span><span style="color: rgba(128, 0, 0, 1)">svg </span><span style="color: rgba(255, 0, 0, 1)">width</span><span style="color: rgba(0, 0, 255, 1)">="500"</span><span style="color: rgba(255, 0, 0, 1)"> height</span><span style="color: rgba(0, 0, 255, 1)">="500"</span><span style="color: rgba(0, 0, 255, 1)">></span>
<span style="color: rgba(0, 0, 255, 1)"><</span><span style="color: rgba(128, 0, 0, 1)">defs</span><span style="color: rgba(0, 0, 255, 1)">></span>
<span style="color: rgba(0, 0, 255, 1)"><</span><span style="color: rgba(128, 0, 0, 1)">linearGradient </span><span style="color: rgba(255, 0, 0, 1)">id</span><span style="color: rgba(0, 0, 255, 1)">="orange_red"</span><span style="color: rgba(255, 0, 0, 1)"> x1</span><span style="color: rgba(0, 0, 255, 1)">="0%"</span><span style="color: rgba(255, 0, 0, 1)"> y1</span><span style="color: rgba(0, 0, 255, 1)">="0%"</span><span style="color: rgba(255, 0, 0, 1)"> x2</span><span style="color: rgba(0, 0, 255, 1)">="100%"</span><span style="color: rgba(255, 0, 0, 1)"> y2</span><span style="color: rgba(0, 0, 255, 1)">="0%"</span><span style="color: rgba(0, 0, 255, 1)">></span>
<span style="color: rgba(0, 0, 255, 1)"><</span><span style="color: rgba(128, 0, 0, 1)">stop </span><span style="color: rgba(255, 0, 0, 1)">offset</span><span style="color: rgba(0, 0, 255, 1)">="0%"</span><span style="color: rgba(255, 0, 0, 1)"> style</span><span style="color: rgba(0, 0, 255, 1)">="stop-color:rgb(255,255,0); stop-opacity:1"</span><span style="color: rgba(0, 0, 255, 1)">/></span>
<span style="color: rgba(0, 0, 255, 1)"><</span><span style="color: rgba(128, 0, 0, 1)">stop </span><span style="color: rgba(255, 0, 0, 1)">offset</span><span style="color: rgba(0, 0, 255, 1)">="100%"</span><span style="color: rgba(255, 0, 0, 1)"> style</span><span style="color: rgba(0, 0, 255, 1)">="stop-color:rgb(255,0,0); stop-opacity:1"</span><span style="color: rgba(0, 0, 255, 1)">/></span>
<span style="color: rgba(0, 0, 255, 1)"></</span><span style="color: rgba(128, 0, 0, 1)">linearGradient</span><span style="color: rgba(0, 0, 255, 1)">></span>
<span style="color: rgba(0, 0, 255, 1)"></</span><span style="color: rgba(128, 0, 0, 1)">defs</span><span style="color: rgba(0, 0, 255, 1)">></span>
<span style="color: rgba(0, 0, 255, 1)"><</span><span style="color: rgba(128, 0, 0, 1)">ellipse </span><span style="color: rgba(255, 0, 0, 1)">cx</span><span style="color: rgba(0, 0, 255, 1)">="200"</span><span style="color: rgba(255, 0, 0, 1)"> cy</span><span style="color: rgba(0, 0, 255, 1)">="190"</span><span style="color: rgba(255, 0, 0, 1)"> rx</span><span style="color: rgba(0, 0, 255, 1)">="85"</span><span style="color: rgba(255, 0, 0, 1)"> ry</span><span style="color: rgba(0, 0, 255, 1)">="55"</span><span style="color: rgba(255, 0, 0, 1)"> style</span><span style="color: rgba(0, 0, 255, 1)">="fill:url(#orange_red)"</span><span style="color: rgba(0, 0, 255, 1)">/></span>
<span style="color: rgba(0, 0, 255, 1)"></</span><span style="color: rgba(128, 0, 0, 1)">svg</span><span style="color: rgba(0, 0, 255, 1)">></span></pre>
</div>
<p><img src="https://img2018.cnblogs.com/blog/1646536/201908/1646536-20190816000630680-173495283.png" alt=""></p>
<p> </p>
<p>6.2径向渐变</p>
<p><radialGradient> 用来定义径向渐变。</p>
<p><radialGradient> 标签必须嵌套在 <defs> 中。<defs> 标签是 definitions 的缩写,它允许对诸如渐变等特殊元素进行定义。</p>
<div class="cnblogs_code">
<pre> <span style="color: rgba(0, 0, 255, 1)"><</span><span style="color: rgba(128, 0, 0, 1)">svg </span><span style="color: rgba(255, 0, 0, 1)">width</span><span style="color: rgba(0, 0, 255, 1)">="500"</span><span style="color: rgba(255, 0, 0, 1)"> height</span><span style="color: rgba(0, 0, 255, 1)">="500"</span><span style="color: rgba(0, 0, 255, 1)">></span>
<span style="color: rgba(0, 0, 255, 1)"><</span><span style="color: rgba(128, 0, 0, 1)">defs</span><span style="color: rgba(0, 0, 255, 1)">></span>
<span style="color: rgba(0, 0, 255, 1)"><</span><span style="color: rgba(128, 0, 0, 1)">radialGradient </span><span style="color: rgba(255, 0, 0, 1)">id</span><span style="color: rgba(0, 0, 255, 1)">="grey_blue"</span><span style="color: rgba(255, 0, 0, 1)"> cx</span><span style="color: rgba(0, 0, 255, 1)">="50%"</span><span style="color: rgba(255, 0, 0, 1)"> cy</span><span style="color: rgba(0, 0, 255, 1)">="50%"</span><span style="color: rgba(255, 0, 0, 1)"> r</span><span style="color: rgba(0, 0, 255, 1)">="50%"</span><span style="color: rgba(255, 0, 0, 1)"> fx</span><span style="color: rgba(0, 0, 255, 1)">="50%"</span><span style="color: rgba(255, 0, 0, 1)"> fy</span><span style="color: rgba(0, 0, 255, 1)">="50%"</span><span style="color: rgba(0, 0, 255, 1)">></span>
<span style="color: rgba(0, 0, 255, 1)"><</span><span style="color: rgba(128, 0, 0, 1)">stop </span><span style="color: rgba(255, 0, 0, 1)">offset</span><span style="color: rgba(0, 0, 255, 1)">="0%"</span><span style="color: rgba(255, 0, 0, 1)"> style</span><span style="color: rgba(0, 0, 255, 1)">="stop-color:rgb(200,200,200);stop-opacity:0"</span><span style="color: rgba(0, 0, 255, 1)">/></span>
<span style="color: rgba(0, 0, 255, 1)"><</span><span style="color: rgba(128, 0, 0, 1)">stop </span><span style="color: rgba(255, 0, 0, 1)">offset</span><span style="color: rgba(0, 0, 255, 1)">="100%"</span><span style="color: rgba(255, 0, 0, 1)"> style</span><span style="color: rgba(0, 0, 255, 1)">="stop-color:rgb(0,0,255);stop-opacity:1"</span><span style="color: rgba(0, 0, 255, 1)">/></span>
<span style="color: rgba(0, 0, 255, 1)"></</span><span style="color: rgba(128, 0, 0, 1)">radialGradient</span><span style="color: rgba(0, 0, 255, 1)">></span>
<span style="color: rgba(0, 0, 255, 1)"></</span><span style="color: rgba(128, 0, 0, 1)">defs</span><span style="color: rgba(0, 0, 255, 1)">></span>
<span style="color: rgba(0, 0, 255, 1)"><</span><span style="color: rgba(128, 0, 0, 1)">ellipse </span><span style="color: rgba(255, 0, 0, 1)">cx</span><span style="color: rgba(0, 0, 255, 1)">="230"</span><span style="color: rgba(255, 0, 0, 1)"> cy</span><span style="color: rgba(0, 0, 255, 1)">="200"</span><span style="color: rgba(255, 0, 0, 1)"> rx</span><span style="color: rgba(0, 0, 255, 1)">="110"</span><span style="color: rgba(255, 0, 0, 1)"> ry</span><span style="color: rgba(0, 0, 255, 1)">="100"</span><span style="color: rgba(255, 0, 0, 1)"> style</span><span style="color: rgba(0, 0, 255, 1)">="fill:url(#grey_blue)"</span><span style="color: rgba(0, 0, 255, 1)">/></span>
<span style="color: rgba(0, 0, 255, 1)"></</span><span style="color: rgba(128, 0, 0, 1)">svg</span><span style="color: rgba(0, 0, 255, 1)">></span></pre>
</div>
<p><img src="https://img2018.cnblogs.com/blog/1646536/201908/1646536-20190816001203414-921641590.png" alt=""></p>
<p>6.3 高斯模糊</p>
<p><filter> 标签用来定义 SVG 滤镜。<filter> 标签使用必需的 id 属性来定义向图形应用哪个滤镜?</p>
<p><filter> 标签必须嵌套在 <defs> 标签内。<defs> 标签是 definitions 的缩写,它允许对诸如滤镜等特殊元素进行定义。</p>
<div class="cnblogs_code">
<pre> <span style="color: rgba(0, 0, 255, 1)"><</span><span style="color: rgba(128, 0, 0, 1)">svg </span><span style="color: rgba(255, 0, 0, 1)">width</span><span style="color: rgba(0, 0, 255, 1)">="500"</span><span style="color: rgba(255, 0, 0, 1)"> height</span><span style="color: rgba(0, 0, 255, 1)">="500"</span><span style="color: rgba(0, 0, 255, 1)">></span>
<span style="color: rgba(0, 0, 255, 1)"><</span><span style="color: rgba(128, 0, 0, 1)">defs</span><span style="color: rgba(0, 0, 255, 1)">></span>
<span style="color: rgba(0, 0, 255, 1)"><</span><span style="color: rgba(128, 0, 0, 1)">filter </span><span style="color: rgba(255, 0, 0, 1)">id</span><span style="color: rgba(0, 0, 255, 1)">="Gaussian_Blur"</span><span style="color: rgba(0, 0, 255, 1)">></span>
<span style="color: rgba(0, 0, 255, 1)"><</span><span style="color: rgba(128, 0, 0, 1)">feGaussianBlur </span><span style="color: rgba(255, 0, 0, 1)">in</span><span style="color: rgba(0, 0, 255, 1)">="SourceGraphic"</span><span style="color: rgba(255, 0, 0, 1)"> stdDeviation</span><span style="color: rgba(0, 0, 255, 1)">="3"</span> <span style="color: rgba(0, 0, 255, 1)">/></span>
<span style="color: rgba(0, 0, 255, 1)"></</span><span style="color: rgba(128, 0, 0, 1)">filter</span><span style="color: rgba(0, 0, 255, 1)">></span>
<span style="color: rgba(0, 0, 255, 1)"></</span><span style="color: rgba(128, 0, 0, 1)">defs</span><span style="color: rgba(0, 0, 255, 1)">></span>
<span style="color: rgba(0, 0, 255, 1)"><</span><span style="color: rgba(128, 0, 0, 1)">ellipse </span><span style="color: rgba(255, 0, 0, 1)">cx</span><span style="color: rgba(0, 0, 255, 1)">="200"</span><span style="color: rgba(255, 0, 0, 1)"> cy</span><span style="color: rgba(0, 0, 255, 1)">="150"</span><span style="color: rgba(255, 0, 0, 1)"> rx</span><span style="color: rgba(0, 0, 255, 1)">="70"</span><span style="color: rgba(255, 0, 0, 1)"> ry</span><span style="color: rgba(0, 0, 255, 1)">="40"</span><span style="color: rgba(255, 0, 0, 1)">style</span><span style="color: rgba(0, 0, 255, 1)">="fill:#ff0000;stroke:#000000;stroke-width:2;filter:url(#Gaussian_Blur)"</span><span style="color: rgba(0, 0, 255, 1)">/></span>
<span style="color: rgba(0, 0, 255, 1)"></</span><span style="color: rgba(128, 0, 0, 1)">svg</span><span style="color: rgba(0, 0, 255, 1)">></span></pre>
</div>
<p><img src="https://img2018.cnblogs.com/blog/1646536/201908/1646536-20190816001530490-2031700086.png" alt=""></p>
<p>再举一个例子</p>
<p><img src="https://img2018.cnblogs.com/blog/1646536/201908/1646536-20190816001652212-839298152.png" alt=""></p>
<p><strong><span style="font-size: 18pt"> 七、路径动画</span></strong></p>
<p> <span style="font-size: 16px">stroke-dasharray、stroke-dashoffset</span></p>
<div class="cnblogs_code">
<pre><span style="color: rgba(0, 0, 0, 1)"> line{
stroke: red;
stroke-width: 10px;
stroke-linecap: butt;
}
</span><span style="color: rgba(0, 0, 255, 1)"></</span><span style="color: rgba(128, 0, 0, 1)">style</span><span style="color: rgba(0, 0, 255, 1)">></span>
<span style="color: rgba(0, 0, 255, 1)"></</span><span style="color: rgba(128, 0, 0, 1)">head</span><span style="color: rgba(0, 0, 255, 1)">></span>
<span style="color: rgba(0, 0, 255, 1)"><</span><span style="color: rgba(128, 0, 0, 1)">body</span><span style="color: rgba(0, 0, 255, 1)">></span>
<span style="color: rgba(0, 0, 255, 1)"><</span><span style="color: rgba(128, 0, 0, 1)">svg </span><span style="color: rgba(255, 0, 0, 1)">width</span><span style="color: rgba(0, 0, 255, 1)">="500"</span><span style="color: rgba(255, 0, 0, 1)"> height</span><span style="color: rgba(0, 0, 255, 1)">="500"</span><span style="color: rgba(0, 0, 255, 1)">></span>
<span style="color: rgba(0, 0, 255, 1)"><</span><span style="color: rgba(128, 0, 0, 1)">line </span><span style="color: rgba(255, 0, 0, 1)">x1</span><span style="color: rgba(0, 0, 255, 1)">="100"</span><span style="color: rgba(255, 0, 0, 1)"> y1</span><span style="color: rgba(0, 0, 255, 1)">="100"</span><span style="color: rgba(255, 0, 0, 1)"> x2</span><span style="color: rgba(0, 0, 255, 1)">="400"</span><span style="color: rgba(255, 0, 0, 1)"> y2</span><span style="color: rgba(0, 0, 255, 1)">="100"</span><span style="color: rgba(0, 0, 255, 1)">></</span><span style="color: rgba(128, 0, 0, 1)">line</span><span style="color: rgba(0, 0, 255, 1)">></span>
<span style="color: rgba(0, 0, 255, 1)"></</span><span style="color: rgba(128, 0, 0, 1)">svg</span><span style="color: rgba(0, 0, 255, 1)">></span>
<span style="color: rgba(0, 0, 255, 1)"></</span><span style="color: rgba(128, 0, 0, 1)">body</span><span style="color: rgba(0, 0, 255, 1)">></span></pre>
</div>
<p><img src="https://img2018.cnblogs.com/blog/1646536/201908/1646536-20190816005325725-698302143.png" alt=""></p>
<p> </p>
<p>先画出一条直线,方便观察。</p>
<p>再来添加stroke-dasharray:10px</p>
<div class="cnblogs_code">
<pre><span style="color: rgba(0, 0, 0, 1)"> line{
stroke: red;
stroke-width: 10px;
stroke-linecap: butt;
stroke-dasharray: 10px ;
}
</span><span style="color: rgba(0, 0, 255, 1)"></</span><span style="color: rgba(128, 0, 0, 1)">style</span><span style="color: rgba(0, 0, 255, 1)">></span>
<span style="color: rgba(0, 0, 255, 1)"></</span><span style="color: rgba(128, 0, 0, 1)">head</span><span style="color: rgba(0, 0, 255, 1)">></span>
<span style="color: rgba(0, 0, 255, 1)"><</span><span style="color: rgba(128, 0, 0, 1)">body</span><span style="color: rgba(0, 0, 255, 1)">></span>
<span style="color: rgba(0, 0, 255, 1)"><</span><span style="color: rgba(128, 0, 0, 1)">svg </span><span style="color: rgba(255, 0, 0, 1)">width</span><span style="color: rgba(0, 0, 255, 1)">="500"</span><span style="color: rgba(255, 0, 0, 1)"> height</span><span style="color: rgba(0, 0, 255, 1)">="500"</span><span style="color: rgba(0, 0, 255, 1)">></span>
<span style="color: rgba(0, 0, 255, 1)"><</span><span style="color: rgba(128, 0, 0, 1)">line </span><span style="color: rgba(255, 0, 0, 1)">x1</span><span style="color: rgba(0, 0, 255, 1)">="100"</span><span style="color: rgba(255, 0, 0, 1)"> y1</span><span style="color: rgba(0, 0, 255, 1)">="100"</span><span style="color: rgba(255, 0, 0, 1)"> x2</span><span style="color: rgba(0, 0, 255, 1)">="400"</span><span style="color: rgba(255, 0, 0, 1)"> y2</span><span style="color: rgba(0, 0, 255, 1)">="100"</span><span style="color: rgba(0, 0, 255, 1)">></</span><span style="color: rgba(128, 0, 0, 1)">line</span><span style="color: rgba(0, 0, 255, 1)">></span>
<span style="color: rgba(0, 0, 255, 1)"></</span><span style="color: rgba(128, 0, 0, 1)">svg</span><span style="color: rgba(0, 0, 255, 1)">></span>
<span style="color: rgba(0, 0, 255, 1)"></</span><span style="color: rgba(128, 0, 0, 1)">body</span><span style="color: rgba(0, 0, 255, 1)">></span></pre>
</div>
<p><img src="https://img2018.cnblogs.com/blog/1646536/201908/1646536-20190816005709107-127292906.png" alt=""></p>
<p>再来添加stroke-dasharray:10px 20px;</p>
<p> <img src="https://img2018.cnblogs.com/blog/1646536/201908/1646536-20190816005913664-362433635.png" alt=""></p>
<p>再来添加stroke-dasharray:10px 20px 30px;</p>
<p> <img src="https://img2018.cnblogs.com/blog/1646536/201908/1646536-20190816010031531-689104067.png" alt=""></p>
<p>依此类推添加,就不再多写了,可以自己试试</p>
<p>接着再来设置添加一下 stroke-dashoffset (偏移量) 属性</p>
<p>随着偏移量增加可以无限循环播放</p>
<p><img src="https://img2018.cnblogs.com/blog/1646536/201908/1646536-20190816010947014-1489871389.gif" alt=""></p>
<p>做个小demo</p>
<p><img src="https://img2018.cnblogs.com/blog/1646536/201908/1646536-20190816021005907-1805188126.gif" alt=""></p>
<div class="cnblogs_code">
<pre><span style="color: rgba(0, 0, 255, 1)"><!</span><span style="color: rgba(255, 0, 255, 1)">DOCTYPE html</span><span style="color: rgba(0, 0, 255, 1)">></span>
<span style="color: rgba(0, 0, 255, 1)"><</span><span style="color: rgba(128, 0, 0, 1)">html </span><span style="color: rgba(255, 0, 0, 1)">lang</span><span style="color: rgba(0, 0, 255, 1)">="en"</span><span style="color: rgba(0, 0, 255, 1)">></span>
<span style="color: rgba(0, 0, 255, 1)"><</span><span style="color: rgba(128, 0, 0, 1)">head</span><span style="color: rgba(0, 0, 255, 1)">></span>
<span style="color: rgba(0, 0, 255, 1)"><</span><span style="color: rgba(128, 0, 0, 1)">meta </span><span style="color: rgba(255, 0, 0, 1)">charset</span><span style="color: rgba(0, 0, 255, 1)">="UTF-8"</span><span style="color: rgba(0, 0, 255, 1)">></span>
<span style="color: rgba(0, 0, 255, 1)"><</span><span style="color: rgba(128, 0, 0, 1)">meta </span><span style="color: rgba(255, 0, 0, 1)">name</span><span style="color: rgba(0, 0, 255, 1)">="viewport"</span><span style="color: rgba(255, 0, 0, 1)"> content</span><span style="color: rgba(0, 0, 255, 1)">="width=device-width, initial-scale=1.0"</span><span style="color: rgba(0, 0, 255, 1)">></span>
<span style="color: rgba(0, 0, 255, 1)"><</span><span style="color: rgba(128, 0, 0, 1)">meta </span><span style="color: rgba(255, 0, 0, 1)">http-equiv</span><span style="color: rgba(0, 0, 255, 1)">="X-UA-Compatible"</span><span style="color: rgba(255, 0, 0, 1)"> content</span><span style="color: rgba(0, 0, 255, 1)">="ie=edge"</span><span style="color: rgba(0, 0, 255, 1)">></span>
<span style="color: rgba(0, 0, 255, 1)"><</span><span style="color: rgba(128, 0, 0, 1)">title</span><span style="color: rgba(0, 0, 255, 1)">></span>Document<span style="color: rgba(0, 0, 255, 1)"></</span><span style="color: rgba(128, 0, 0, 1)">title</span><span style="color: rgba(0, 0, 255, 1)">></span>
<span style="color: rgba(0, 0, 255, 1)"><</span><span style="color: rgba(128, 0, 0, 1)">style</span><span style="color: rgba(0, 0, 255, 1)">></span><span style="background-color: rgba(245, 245, 245, 1); color: rgba(128, 0, 0, 1)">
svg </span><span style="background-color: rgba(245, 245, 245, 1); color: rgba(0, 0, 0, 1)">{</span><span style="background-color: rgba(245, 245, 245, 1); color: rgba(255, 0, 0, 1)">
margin-left</span><span style="background-color: rgba(245, 245, 245, 1); color: rgba(0, 0, 0, 1)">:</span><span style="background-color: rgba(245, 245, 245, 1); color: rgba(0, 0, 255, 1)"> 100px</span><span style="background-color: rgba(245, 245, 245, 1); color: rgba(0, 0, 0, 1)">;</span><span style="background-color: rgba(245, 245, 245, 1); color: rgba(255, 0, 0, 1)">
margin-top</span><span style="background-color: rgba(245, 245, 245, 1); color: rgba(0, 0, 0, 1)">:</span><span style="background-color: rgba(245, 245, 245, 1); color: rgba(0, 0, 255, 1)"> 100px</span><span style="background-color: rgba(245, 245, 245, 1); color: rgba(0, 0, 0, 1)">;</span><span style="background-color: rgba(245, 245, 245, 1); color: rgba(255, 0, 0, 1)">
border</span><span style="background-color: rgba(245, 245, 245, 1); color: rgba(0, 0, 0, 1)">:</span><span style="background-color: rgba(245, 245, 245, 1); color: rgba(0, 0, 255, 1)"> 1px solid black</span><span style="background-color: rgba(245, 245, 245, 1); color: rgba(0, 0, 0, 1)">;</span>
<span style="background-color: rgba(245, 245, 245, 1); color: rgba(0, 0, 0, 1)">}</span><span style="background-color: rgba(245, 245, 245, 1); color: rgba(128, 0, 0, 1)">
line</span><span style="background-color: rgba(245, 245, 245, 1); color: rgba(0, 0, 0, 1)">{</span><span style="background-color: rgba(245, 245, 245, 1); color: rgba(255, 0, 0, 1)">
stroke</span><span style="background-color: rgba(245, 245, 245, 1); color: rgba(0, 0, 0, 1)">:</span><span style="background-color: rgba(245, 245, 245, 1); color: rgba(0, 0, 255, 1)"> red</span><span style="background-color: rgba(245, 245, 245, 1); color: rgba(0, 0, 0, 1)">;</span><span style="background-color: rgba(245, 245, 245, 1); color: rgba(255, 0, 0, 1)">
stroke-width</span><span style="background-color: rgba(245, 245, 245, 1); color: rgba(0, 0, 0, 1)">:</span><span style="background-color: rgba(245, 245, 245, 1); color: rgba(0, 0, 255, 1)"> 10px</span><span style="background-color: rgba(245, 245, 245, 1); color: rgba(0, 0, 0, 1)">;</span><span style="background-color: rgba(245, 245, 245, 1); color: rgba(255, 0, 0, 1)">
stroke-linecap</span><span style="background-color: rgba(245, 245, 245, 1); color: rgba(0, 0, 0, 1)">:</span><span style="background-color: rgba(245, 245, 245, 1); color: rgba(0, 0, 255, 1)"> butt</span><span style="background-color: rgba(245, 245, 245, 1); color: rgba(0, 0, 0, 1)">;</span><span style="background-color: rgba(245, 245, 245, 1); color: rgba(255, 0, 0, 1)">
stroke-dasharray</span><span style="background-color: rgba(245, 245, 245, 1); color: rgba(0, 0, 0, 1)">:</span><span style="background-color: rgba(245, 245, 245, 1); color: rgba(0, 0, 255, 1)"> 300px</span><span style="background-color: rgba(245, 245, 245, 1); color: rgba(0, 0, 0, 1)">;</span><span style="background-color: rgba(245, 245, 245, 1); color: rgba(255, 0, 0, 1)">
stroke-dashoffset</span><span style="background-color: rgba(245, 245, 245, 1); color: rgba(0, 0, 0, 1)">:</span><span style="background-color: rgba(245, 245, 245, 1); color: rgba(0, 0, 255, 1)"> 300px</span><span style="background-color: rgba(245, 245, 245, 1); color: rgba(0, 0, 0, 1)">;</span><span style="background-color: rgba(245, 245, 245, 1); color: rgba(255, 0, 0, 1)">
animation</span><span style="background-color: rgba(245, 245, 245, 1); color: rgba(0, 0, 0, 1)">:</span><span style="background-color: rgba(245, 245, 245, 1); color: rgba(0, 0, 255, 1)"> move 1s linear infinite alternate-reverse</span><span style="background-color: rgba(245, 245, 245, 1); color: rgba(0, 0, 0, 1)">;</span>
<span style="background-color: rgba(245, 245, 245, 1); color: rgba(0, 0, 0, 1)">}</span><span style="background-color: rgba(245, 245, 245, 1); color: rgba(128, 0, 0, 1)">
@keyframes move</span><span style="background-color: rgba(245, 245, 245, 1); color: rgba(0, 0, 0, 1)">{</span><span style="background-color: rgba(245, 245, 245, 1); color: rgba(255, 0, 0, 1)">
0%{
stroke-dashoffset</span><span style="background-color: rgba(245, 245, 245, 1); color: rgba(0, 0, 0, 1)">:</span><span style="background-color: rgba(245, 245, 245, 1); color: rgba(0, 0, 255, 1)"> 300px</span><span style="background-color: rgba(245, 245, 245, 1); color: rgba(0, 0, 0, 1)">;</span>
<span style="background-color: rgba(245, 245, 245, 1); color: rgba(0, 0, 0, 1)">}</span><span style="background-color: rgba(245, 245, 245, 1); color: rgba(128, 0, 0, 1)">
100%</span><span style="background-color: rgba(245, 245, 245, 1); color: rgba(0, 0, 0, 1)">{</span><span style="background-color: rgba(245, 245, 245, 1); color: rgba(255, 0, 0, 1)">
stroke-dashoffset</span><span style="background-color: rgba(245, 245, 245, 1); color: rgba(0, 0, 0, 1)">:</span><span style="background-color: rgba(245, 245, 245, 1); color: rgba(0, 0, 255, 1)"> 0</span><span style="background-color: rgba(245, 245, 245, 1); color: rgba(0, 0, 0, 1)">;</span>
<span style="background-color: rgba(245, 245, 245, 1); color: rgba(0, 0, 0, 1)">}</span><span style="background-color: rgba(245, 245, 245, 1); color: rgba(128, 0, 0, 1)">
}
</span><span style="color: rgba(0, 0, 255, 1)"></</span><span style="color: rgba(128, 0, 0, 1)">style</span><span style="color: rgba(0, 0, 255, 1)">></span>
<span style="color: rgba(0, 0, 255, 1)"></</span><span style="color: rgba(128, 0, 0, 1)">head</span><span style="color: rgba(0, 0, 255, 1)">></span>
<span style="color: rgba(0, 0, 255, 1)"><</span><span style="color: rgba(128, 0, 0, 1)">body</span><span style="color: rgba(0, 0, 255, 1)">></span>
<span style="color: rgba(0, 0, 255, 1)"><</span><span style="color: rgba(128, 0, 0, 1)">svg </span><span style="color: rgba(255, 0, 0, 1)">width</span><span style="color: rgba(0, 0, 255, 1)">="500"</span><span style="color: rgba(255, 0, 0, 1)"> height</span><span style="color: rgba(0, 0, 255, 1)">="500"</span><span style="color: rgba(0, 0, 255, 1)">></span>
<span style="color: rgba(0, 0, 255, 1)"><</span><span style="color: rgba(128, 0, 0, 1)">line </span><span style="color: rgba(255, 0, 0, 1)">x1</span><span style="color: rgba(0, 0, 255, 1)">="100"</span><span style="color: rgba(255, 0, 0, 1)"> y1</span><span style="color: rgba(0, 0, 255, 1)">="100"</span><span style="color: rgba(255, 0, 0, 1)"> x2</span><span style="color: rgba(0, 0, 255, 1)">="400"</span><span style="color: rgba(255, 0, 0, 1)"> y2</span><span style="color: rgba(0, 0, 255, 1)">="100"</span><span style="color: rgba(0, 0, 255, 1)">></</span><span style="color: rgba(128, 0, 0, 1)">line</span><span style="color: rgba(0, 0, 255, 1)">></span>
<span style="color: rgba(0, 0, 255, 1)"></</span><span style="color: rgba(128, 0, 0, 1)">svg</span><span style="color: rgba(0, 0, 255, 1)">></span>
<span style="color: rgba(0, 0, 255, 1)"></</span><span style="color: rgba(128, 0, 0, 1)">body</span><span style="color: rgba(0, 0, 255, 1)">></span>
<span style="color: rgba(0, 0, 255, 1)"></</span><span style="color: rgba(128, 0, 0, 1)">html</span><span style="color: rgba(0, 0, 255, 1)">></span></pre>
</div>
<p><strong><span style="font-size: 18pt"> </span></strong><strong><span style="font-size: 18pt">八、JS操作Svg</span></strong></p>
<p><strong><span style="font-size: 18pt">8.1</span></strong></p>
<p><strong><span style="font-size: 18pt"><img src="https://img2018.cnblogs.com/blog/1646536/201908/1646536-20190816023238134-584303010.png" alt=""></span></strong></p>
<p><strong>获取路径总长度</strong></p>
<p> </p>
<div class="cnblogs_code">
<pre><span style="color: rgba(0, 0, 0, 1)"> line{
stroke: red;
stroke-width: 10px;
stroke-linecap: butt;
stroke-dasharray: 300px;
stroke-dashoffset: 300px;
}
</span><span style="color: rgba(0, 0, 255, 1)"></</span><span style="color: rgba(128, 0, 0, 1)">style</span><span style="color: rgba(0, 0, 255, 1)">></span>
<span style="color: rgba(0, 0, 255, 1)"></</span><span style="color: rgba(128, 0, 0, 1)">head</span><span style="color: rgba(0, 0, 255, 1)">></span>
<span style="color: rgba(0, 0, 255, 1)"><</span><span style="color: rgba(128, 0, 0, 1)">body</span><span style="color: rgba(0, 0, 255, 1)">></span>
<span style="color: rgba(0, 0, 255, 1)"><</span><span style="color: rgba(128, 0, 0, 1)">svg </span><span style="color: rgba(255, 0, 0, 1)">width</span><span style="color: rgba(0, 0, 255, 1)">="500"</span><span style="color: rgba(255, 0, 0, 1)"> height</span><span style="color: rgba(0, 0, 255, 1)">="500"</span><span style="color: rgba(0, 0, 255, 1)">></span>
<span style="color: rgba(0, 0, 255, 1)"><</span><span style="color: rgba(128, 0, 0, 1)">line </span><span style="color: rgba(255, 0, 0, 1)">x1</span><span style="color: rgba(0, 0, 255, 1)">="100"</span><span style="color: rgba(255, 0, 0, 1)"> y1</span><span style="color: rgba(0, 0, 255, 1)">="100"</span><span style="color: rgba(255, 0, 0, 1)"> x2</span><span style="color: rgba(0, 0, 255, 1)">="400"</span><span style="color: rgba(255, 0, 0, 1)"> y2</span><span style="color: rgba(0, 0, 255, 1)">="100"</span><span style="color: rgba(0, 0, 255, 1)">></</span><span style="color: rgba(128, 0, 0, 1)">line</span><span style="color: rgba(0, 0, 255, 1)">></span>
<span style="color: rgba(0, 0, 255, 1)"></</span><span style="color: rgba(128, 0, 0, 1)">svg</span><span style="color: rgba(0, 0, 255, 1)">></span>
<span style="color: rgba(0, 0, 255, 1)"><</span><span style="color: rgba(128, 0, 0, 1)">script</span><span style="color: rgba(0, 0, 255, 1)">></span>
<span style="background-color: rgba(245, 245, 245, 1); color: rgba(0, 0, 255, 1)">var</span><span style="background-color: rgba(245, 245, 245, 1); color: rgba(0, 0, 0, 1)"> svg </span><span style="background-color: rgba(245, 245, 245, 1); color: rgba(0, 0, 0, 1)">=</span><span style="background-color: rgba(245, 245, 245, 1); color: rgba(0, 0, 0, 1)"> document.getElementsByTagName(</span><span style="background-color: rgba(245, 245, 245, 1); color: rgba(0, 0, 0, 1)">'</span><span style="background-color: rgba(245, 245, 245, 1); color: rgba(0, 0, 0, 1)">svg</span><span style="background-color: rgba(245, 245, 245, 1); color: rgba(0, 0, 0, 1)">'</span><span style="background-color: rgba(245, 245, 245, 1); color: rgba(0, 0, 0, 1)">)[</span><span style="background-color: rgba(245, 245, 245, 1); color: rgba(0, 0, 0, 1)">0</span><span style="background-color: rgba(245, 245, 245, 1); color: rgba(0, 0, 0, 1)">];
</span><span style="background-color: rgba(245, 245, 245, 1); color: rgba(0, 0, 255, 1)">var</span><span style="background-color: rgba(245, 245, 245, 1); color: rgba(0, 0, 0, 1)"> line </span><span style="background-color: rgba(245, 245, 245, 1); color: rgba(0, 0, 0, 1)">=</span><span style="background-color: rgba(245, 245, 245, 1); color: rgba(0, 0, 0, 1)"> document.getElementsByTagName(</span><span style="background-color: rgba(245, 245, 245, 1); color: rgba(0, 0, 0, 1)">'</span><span style="background-color: rgba(245, 245, 245, 1); color: rgba(0, 0, 0, 1)">line</span><span style="background-color: rgba(245, 245, 245, 1); color: rgba(0, 0, 0, 1)">'</span><span style="background-color: rgba(245, 245, 245, 1); color: rgba(0, 0, 0, 1)">)[</span><span style="background-color: rgba(245, 245, 245, 1); color: rgba(0, 0, 0, 1)">0</span><span style="background-color: rgba(245, 245, 245, 1); color: rgba(0, 0, 0, 1)">];
<span style="color: rgba(255, 0, 0, 1)">console.log(line.getTotalLength( </span></span><span style="color: rgba(255, 0, 0, 1)"><span style="background-color: rgba(245, 245, 245, 1)">));
</span></span><span style="color: rgba(0, 0, 255, 1)"></</span><span style="color: rgba(128, 0, 0, 1)">script</span><span style="color: rgba(0, 0, 255, 1)">></span></pre>
</div>
<p><img src="https://img2018.cnblogs.com/blog/1646536/201908/1646536-20190816024225901-817324523.png" alt=""></p>
<p>获取路径上距离起点距离与x长度点距离</p>
<div class="cnblogs_code">
<pre><span style="color: rgba(0, 0, 0, 1)"> line{
stroke: red;
stroke-width: 10px;
stroke-linecap: butt;
stroke-dasharray: 300px;
stroke-dashoffset: 300px;
}
</span><span style="color: rgba(0, 0, 255, 1)"></</span><span style="color: rgba(128, 0, 0, 1)">style</span><span style="color: rgba(0, 0, 255, 1)">></span>
<span style="color: rgba(0, 0, 255, 1)"></</span><span style="color: rgba(128, 0, 0, 1)">head</span><span style="color: rgba(0, 0, 255, 1)">></span>
<span style="color: rgba(0, 0, 255, 1)"><</span><span style="color: rgba(128, 0, 0, 1)">body</span><span style="color: rgba(0, 0, 255, 1)">></span>
<span style="color: rgba(0, 0, 255, 1)"><</span><span style="color: rgba(128, 0, 0, 1)">svg </span><span style="color: rgba(255, 0, 0, 1)">width</span><span style="color: rgba(0, 0, 255, 1)">="500"</span><span style="color: rgba(255, 0, 0, 1)"> height</span><span style="color: rgba(0, 0, 255, 1)">="500"</span><span style="color: rgba(0, 0, 255, 1)">></span>
<span style="color: rgba(0, 0, 255, 1)"><</span><span style="color: rgba(128, 0, 0, 1)">line </span><span style="color: rgba(255, 0, 0, 1)">x1</span><span style="color: rgba(0, 0, 255, 1)">="100"</span><span style="color: rgba(255, 0, 0, 1)"> y1</span><span style="color: rgba(0, 0, 255, 1)">="100"</span><span style="color: rgba(255, 0, 0, 1)"> x2</span><span style="color: rgba(0, 0, 255, 1)">="400"</span><span style="color: rgba(255, 0, 0, 1)"> y2</span><span style="color: rgba(0, 0, 255, 1)">="100"</span><span style="color: rgba(0, 0, 255, 1)">></</span><span style="color: rgba(128, 0, 0, 1)">line</span><span style="color: rgba(0, 0, 255, 1)">></span>
<span style="color: rgba(0, 0, 255, 1)"></</span><span style="color: rgba(128, 0, 0, 1)">svg</span><span style="color: rgba(0, 0, 255, 1)">></span>
<span style="color: rgba(0, 0, 255, 1)"><</span><span style="color: rgba(128, 0, 0, 1)">script</span><span style="color: rgba(0, 0, 255, 1)">></span>
<span style="background-color: rgba(245, 245, 245, 1); color: rgba(0, 0, 255, 1)">var</span><span style="background-color: rgba(245, 245, 245, 1); color: rgba(0, 0, 0, 1)"> svg </span><span style="background-color: rgba(245, 245, 245, 1); color: rgba(0, 0, 0, 1)">=</span><span style="background-color: rgba(245, 245, 245, 1); color: rgba(0, 0, 0, 1)"> document.getElementsByTagName(</span><span style="background-color: rgba(245, 245, 245, 1); color: rgba(0, 0, 0, 1)">'</span><span style="background-color: rgba(245, 245, 245, 1); color: rgba(0, 0, 0, 1)">svg</span><span style="background-color: rgba(245, 245, 245, 1); color: rgba(0, 0, 0, 1)">'</span><span style="background-color: rgba(245, 245, 245, 1); color: rgba(0, 0, 0, 1)">)[</span><span style="background-color: rgba(245, 245, 245, 1); color: rgba(0, 0, 0, 1)">0</span><span style="background-color: rgba(245, 245, 245, 1); color: rgba(0, 0, 0, 1)">];
</span><span style="background-color: rgba(245, 245, 245, 1); color: rgba(0, 0, 255, 1)">var</span><span style="background-color: rgba(245, 245, 245, 1); color: rgba(0, 0, 0, 1)"> line </span><span style="background-color: rgba(245, 245, 245, 1); color: rgba(0, 0, 0, 1)">=</span><span style="background-color: rgba(245, 245, 245, 1); color: rgba(0, 0, 0, 1)"> document.getElementsByTagName(</span><span style="background-color: rgba(245, 245, 245, 1); color: rgba(0, 0, 0, 1)">'</span><span style="background-color: rgba(245, 245, 245, 1); color: rgba(0, 0, 0, 1)">line</span><span style="background-color: rgba(245, 245, 245, 1); color: rgba(0, 0, 0, 1)">'</span><span style="background-color: rgba(245, 245, 245, 1); color: rgba(0, 0, 0, 1)">)[</span><span style="background-color: rgba(245, 245, 245, 1); color: rgba(0, 0, 0, 1)">0</span><span style="background-color: rgba(245, 245, 245, 1); color: rgba(0, 0, 0, 1)">];
console.log(line.getPointAtLength(</span><span style="background-color: rgba(245, 245, 245, 1); color: rgba(0, 0, 0, 1)">50</span><span style="background-color: rgba(245, 245, 245, 1); color: rgba(0, 0, 0, 1)">));
</span><span style="color: rgba(0, 0, 255, 1)"></</span><span style="color: rgba(128, 0, 0, 1)">script</span><span style="color: rgba(0, 0, 255, 1)">></span></pre>
</div>
<p><img src="https://img2018.cnblogs.com/blog/1646536/201908/1646536-20190816024559603-651845619.png" alt=""></p>
<p> </p>
<p><strong><span style="font-size: 18pt">8.2</span></strong></p>
<p> 1. 创建svg元素需要指定命名空间</p>
<p> 2. svg元素对象一般通过调用setAttribute()方法来设定属性值</p>
<div class="cnblogs_code">
<pre> <style><span style="color: rgba(0, 0, 0, 1)">
svg {
border: 1px solid red;
}
line {
stroke: red;
stroke</span>-<span style="color: rgba(0, 0, 0, 1)">width: 10px;
}
</span></style>
</head>
<body>
<script>
<span style="color: rgba(0, 0, 255, 1)">var</span> svg = document.createElementNS('http://www.w3.org/2000/svg', 'svg'<span style="color: rgba(0, 0, 0, 1)">);
</span><span style="color: rgba(0, 0, 255, 1)">var</span> line = document.createElementNS('http://www.w3.org/2000/svg', 'line'<span style="color: rgba(0, 0, 0, 1)">);
svg.setAttribute(</span>'width', 200<span style="color: rgba(0, 0, 0, 1)">);
svg.setAttribute(</span>'height', 200<span style="color: rgba(0, 0, 0, 1)">);
line.setAttribute(</span>'x1', 100<span style="color: rgba(0, 0, 0, 1)">);
line.setAttribute(</span>'y1', 100<span style="color: rgba(0, 0, 0, 1)">);
line.setAttribute(</span>'x2', 150<span style="color: rgba(0, 0, 0, 1)">);
line.setAttribute(</span>'y2', 100<span style="color: rgba(0, 0, 0, 1)">);
svg.appendChild(line);
document.body.appendChild(svg);
</span></script></pre>
</div>
<p><img src="https://img2018.cnblogs.com/blog/1646536/201908/1646536-20190818134845083-1334083944.png" alt=""></p>
<p> </p><br><br>
来源:https://www.cnblogs.com/yangpeixian/p/11359676.html
頁:
[1]