网站首页 > 知识剖析 正文
作者:前端进阶者 来源:前端进阶学习交流
大家好,我是前端进阶者。
polygon元素定义了一个由一组首尾相连的直线线段构成的闭合多边形形状,最后一点连接到第一点。 元素通常用于绘制具有多个(3个或更多)侧面/边缘的形状。
一、 Polygon 画多边形
简单的SVG多边形:
例
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
<body style="background-color: aqua;">
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<polygon points="10,0 60,0 35,50" style="stroke:#660000; fill:#cc3333;" />
</svg>
</body>
</html>
运行后效果如下:
解析:
即使仅列出了3个点,也都绘制了所有3个面。这是因为 元素在所有点之间绘制线,包括从最后一个点到第一个点的一条线。该 不会从最后一点到第一画线。
这似乎是 和 元素的唯一区别。
二、绘制不规则四边形
下面的示例创建一个四边的多边形:
下面是SVG代码:
<!DOCTYPE html>
<html>
<body style="background-color: aqua;">
<svg height="250" width="500">
<polygon points="220,10 300,210 170,250 123,234" style="fill:lime;stroke:purple;stroke-width:1" />
</svg>
</body>
</html>
三、绘制六边形
代码如下:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
<body style="background-color: aqua;">
<svg width="120" height="120" viewPort="0 0 120 120" version="1.1" xmlns="http://www.w3.org/2000/svg" style="stroke:#660000; fill:#cc3333;">
<polygon points="60,20 100,40 100,80 60,100 20,80 20,40" />
</svg>
</body>
</html>
运行效果如下:
四、八边形
8个边的多边形(八边形):
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
<body style="background-color: aqua;">
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<polygon points="50,5 100,5 125,30 125,80 100,105
50,105 25,80 25, 30" style="stroke:#660000; fill:#cc3333; stroke-width: 3;" />
</svg>
</body>
</html>
运行效果如下:
五、SVG 画五角星
案例
使用 元素创建一个星型:
代码如下:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
<body style="background-color: aqua;">
<svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="320">
<polygon points="100,10 40,180 190,60 10,60 160,180" style="fill:red; stroke:purple; stroke-width:5;fill-rule:nonzero;"/>
</svg>
</body>
</html>
运行后效果如下:
改变 fill-rule 属性为 "evenodd":
下面是SVG代码:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
<body style="background-color: aqua;">
<svg height="210" width="500">
<polygon points="100,10 40,198 190,78 10,78 160,198" style="fill:red;stroke:purple;stroke-width:5;fill-rule:evenodd;" />
</svg>
</body>
</html>
运行效果:
六、总结
本文基于Htm基础,介绍了如何去画多边形,通过Polygon元素变换参数画不一样的的多边形。(四边形,如六边形,八边形等等),最后重点讲解了如何去画五角星,讲解画五角星时需要注意的点,在转换过程中,改变 fill-rule 属性绘制不一样的五角星图像。通过丰富的案例分析,希望读者能够更好地去理解和学习。
欢迎大家积极尝试,有时候看到别人实现起来很简单,但是到自己动手实现的时候,总会有各种各样的问题,切勿眼高手低,勤动手,才可以理解的更加深刻。
代码很简单,希望对你学习有帮助。
猜你喜欢
- 2025-04-24 Adobe宣布Flash更名为 支持HTML5开发
- 2025-04-24 文章和PPT配图有救了!SVG绘图专家智能体大揭秘
- 2025-04-24 DrawSVG – SVG 路径动画 jQuery 插件
- 2025-04-24 SVG Drawing Animation – SVG 绘制
- 2025-04-24 SVG实现的流程图绘制
- 2025-04-24 避免冲突,开发说这个设计实现不了?
- 2025-04-24 一篇文章带你了解SVG 渐变知识
- 2025-04-24 前端开发-SVG从入门到实战
- 2025-04-24 利用 SVG 文件内的 HTML 代码进行网络钓鱼攻击
- 04-29php开发者composer使用看这一篇就够了
- 04-29引用和变量声明在不同语言中的实作
- 04-29PHP 没你想的那么差
- 04-29Ubuntu linux 上的 Nginx 和 Php 安装
- 04-29CentOS下通过yum搭建lnmp(单版本PHP)
- 04-29为什么 PHP8 是个高性能版本
- 04-29PHP8函数包含文件-PHP8知识详解
- 04-29使用无参数函数进行命令执行
- 最近发表
- 标签列表
-
- xml (46)
- css animation (57)
- array_slice (60)
- htmlspecialchars (54)
- position: absolute (54)
- datediff函数 (47)
- array_pop (49)
- jsmap (52)
- toggleclass (43)
- console.time (63)
- .sql (41)
- ahref (40)
- js json.parse (59)
- html复选框 (60)
- css 透明 (44)
- css 颜色 (47)
- php replace (41)
- css nth-child (48)
- min-height (40)
- xml schema (44)
- css 最后一个元素 (46)
- location.origin (44)
- table border (49)
- html tr (40)
- video controls (49)