SVG <line>元素是一个SVG基本形状,用来创建一条连接两个点的线。<line>元素用于在SVG图像内部绘制线条。可以绘制水平直线,垂直竖线直线、斜角直线等。
polyline元素是SVG的一个基本形状,用来创建一系列直线连接多个点。典型的一个polyline是用来创建一个开放的形状,最后一点不与第一点相连。
一、SVG 画直线
案例
一些简单的常用SVG <line>画直线。
示例
- <!DOCTYPE html>
- <html>
- <body style="background-color: aqua;">
- <title>项目</title>
- <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
- <line x1="0" y1="10" x2="0" y2="100" style="stroke:#006600;"></line>
- <line x1="10" y1="10" x2="100" y2="100" style="stroke:#006600;"></line>
- <line x1="20" y1="10" x2="100" y2="50" style="stroke:#006600;"></line>
- <line x1="30" y1="10" x2="110" y2="10" style="stroke:#006600;"></line>
- </svg>
- </body>
- </html>
运行后直线效果如下 :
代码解析 :
直线起始点由x1和y1属性设置的点处,直线终点由x2和y2属性设置的点处,该style属性设置笔划(线条)的颜色和粗细。
二、SVG 画曲折线
1. 折线
折线示例代码如下:
示例
- <!DOCTYPE html>
- <html>
- <body style="background-color: aqua;">
- <title>项目</title>
- <svg width="120" height="120" viewPort="0 0 120 120" version="1.1" xmlns="http://www.w3.org/2000/svg">
- <polyline fill="none" stroke="black" points="20,100 40,60 70,80 100,20" />
- </svg>
- </body>
- </html>
运行后效果如下:
2. 绘制三角形
示例代码如下:
示例
- <!DOCTYPE html>
- <html>
- <body style="background-color: aqua;">
- <title>项目</title>
- <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
- <polyline points="0,0 30,0 15,30" style="stroke:#006600;" />
- </svg>
- </body>
- </html>
运行后效果预览图:
多条线由点标识。
每个点在points属性中均以x,y列出。此示例有3个点,它们定义了一个三角形。将3个点用线连接起来,然后填充。默认的填充颜色是黑色。
3. 绘制一个填充绿色的三角形
示例代码如下:
示例
- <!DOCTYPE html>
- <html>
- <body style="background-color: aqua;">
- <title>项目</title>
- <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
- <polyline points="10,2 60,2 35,52" style="stroke:#006600; stroke-width: 2;
- fill: #33cc33;" />
- </svg>
- </body>
- </html>
运行后效果预览图:
已经注意到,三角形中只有两条线是用描边颜色(深绿色)绘制的。原因是,仅绘制了列出的点之间的线。没有画回第一点的线。为此,points再次将第一个点添加到属性中。
如下所示:
- <!DOCTYPE html>
- <html>
- <body style="background-color: aqua;">
- <title>项目</title>
- <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
- <polyline points="10,2 60,2 35,52 10,2" style="stroke:#006600; fill: #33cc33;" />
- </svg>
- </body>
- </html>
运行的图像结果如下:
该style属性设置笔划(线条)的颜色和粗细以及填充颜色。
三、总结
本文基于Html基础,使用SVG画不一样的线,画出不一样图形。SVG <line>元素画直线,polyline元素创建一个开放的形状,最后一点不与第一点相连。实现画曲线的效果,以及在实际开发项目中需要注意的点,遇到的一些难点, 都提供了一些有效的解决方案。
欢迎大家积极尝试,有时候看到别人实现起来很简单,但是到自己动手实现的时候,总会有各种各样的问题,切勿眼高手低,勤动手,才可以理解的更加深刻。
代码很简单,希望能够帮助读者更好的去学习SVG。
本文转载自微信公众号「前端进阶学习交流」,可以通过以下二维码关注。转载本文请联系前端进阶学习交流公众号。