大家好,我是前端进阶者。
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>
运行效果如下:
案例
使用
代码如下:
- <!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 属性绘制不一样的五角星图像。通过丰富的案例分析,希望读者能够更好的去理解和学习。
欢迎大家积极尝试,有时候看到别人实现起来很简单,但是到自己动手实现的时候,总会有各种各样的问题,切勿眼高手低,勤动手,才可以理解的更加深刻。
代码很简单,希望对你学习有帮助。
数据来源:以某直聘平台为数据来源,以大数据为关键词,设置搜索条件为:杭州市...
大家好,我是腾讯云防火墙的产品经理jojen,又见面了,今天在这里和大家聊一聊NA...
1.有一个很古老的传说,说是在北邮校园内能看到美女的人会长生不老。 2.床,请...
【51CTO.com快译】 许多基于Web的项目最终必须考虑的一个常见问题是如何处理用户...
一、前言 SVG text 元素用于在SVG图像中绘制文本。在svg中使用text 元素,可以实...
他来了他来了,他带着活动走来了!各位亲爱的社区创作者老师,想我了吗? 去年的...
Shellcode转储 Shellcode还将扫描游戏进程和Windows进程lsass.exe,以查找可疑的...
pyecharts团队将其支持的图表类型归纳为以下几个类型:基本图表、直角坐标系图表...
究竟哪一种循环更快? 答案其实是:for(倒序) 最让我感到惊讶的事情是,当我在本...
1.数学无聊到连个三角形都要证明,买个菜都要设X。 2.每个把手插在兜里的人,...