阿西河

所有教程

公众号
🌙
阿西河前端的公众号

我的收藏

    最近访问  (文章)

      教程列表

      抓包专区
      测试专区

      SVG 多边形 <polygon>

      SVG 多边形 <polygon>

      <polygon> 标签用来创建含有不少于三个边的图形。

      多边形是由直线组成,其形状是"封闭"的(所有的线条 连接起来)。

      polygon来自希腊。 “Poly” 意味 “many” , “gon” 意味 “angle”.

      polygon和折线很像,它们都是由连接一组点集的直线构成。不同的是,polygon的路径在最后一个点处自动回到第一个点。需要注意的是,矩形也是一种多边形,如果需要更多灵活性的话,你也可以用多边形创建一个矩形。

      <polygon 
          points="50 160, 55 180, 70 180, 60 190, 65 205, 50 195, 35 205, 40 190, 30 180, 45 180"
          />
      
      • points
        • 点集数列。每个数字用空白符、逗号、终止命令或者换行符分隔开。每个点必须包含2个数字,一个是x坐标,一个是y坐标。所以点列表 (0,0), (1,1) 和(2,2)可以写成这样:“0 0, 1 1, 2 2”。路径绘制完后闭合图形,所以最终的直线将从位置(2,2)连接到位置(0,0)。

      下面是SVG代码:

      <svg xmlns="http://www.w3.org/2000/svg" version="1.1">
        <polygon points="200,10 250,190 160,210"
        style="fill:lime;stroke:purple;stroke-width:1"/>
      </svg>
      

      渲染效果


      代码解析:

      • points 属性定义多边形每个角的 x 和 y 坐标

      实例:下面的示例创建一个四边的多边形:

      <svg xmlns="http://www.w3.org/2000/svg" version="1.1">
        <polygon points="220,10 300,210 170,250 123,234"
        style="fill:lime;stroke:purple;stroke-width:1"/>
      </svg>
      

      渲染效果



      实例 :使用 <polygon> 元素创建一个星型:

      <svg xmlns="http://www.w3.org/2000/svg" version="1.1">
        <polygon points="100,10 40,180 190,60 10,60 160,180"
        style="fill:lime;stroke:purple;stroke-width:5;fill-rule:nonzero;" />
      </svg>
      

      渲染效果





      实例 : 改变 fill-rule 属性为 “evenodd”:

      下面是SVG代码:

      <svg xmlns="http://www.w3.org/2000/svg" version="1.1">
        <polygon points="100,10 40,180 190,60 10,60 160,180"
        style="fill:lime;stroke:purple;stroke-width:5;fill-rule:evenodd;" />
      </svg>
      

      渲染效果


      目录
      目录