Menu
×
   ❮     
HTML CSS JAVASCRIPT SQL PYTHON JAVA PHP HOW TO W3.CSS C C++ C# BOOTSTRAP REACT MYSQL JQUERY EXCEL XML DJANGO NUMPY PANDAS NODEJS R TYPESCRIPT ANGULAR GIT POSTGRESQL MONGODB ASP AI GO KOTLIN SASS VUE DSA GEN AI SCIPY AWS CYBERSECURITY DATA SCIENCE
     ❯   

SVG <path>


SVG 路径 - <path>

<path> 元素用于定义路径。

路径用于创建简单或复杂的形状,将多个直线或曲线组合在一起。

<path> 元素有一个基本属性,它定义了如何绘制路径的点和其他命令

属性 描述
d 必需。一组定义路径的命令。

以下是路径数据中可用的命令:

  • M = moveto(从一个点移动到另一个点)
  • L = lineto(创建一条线)
  • H = horizontal lineto(创建一条水平线)
  • V = vertical lineto(创建一条垂直线)
  • C = curveto(创建一条曲线)
  • S = smooth curveto(创建一条平滑曲线)
  • Q = quadratic Bézier curve(创建一条二次贝塞尔曲线)
  • T = smooth quadratic Bézier curveto(创建一条平滑二次贝塞尔曲线)
  • A = elliptical Arc(创建一条椭圆弧)
  • Z = closepath(闭合路径)

注意: 以上所有命令都可以用小写字母表示。大写字母表示绝对定位,小写字母表示相对定位。


一条简单的路径

以下示例定义了一条路径,它从位置 150,5 开始,到位置 75,200 的一条线,然后从那里,到位置 225,200 的一条线,最后闭合路径回到 150,5

Sorry, your browser does not support inline SVG.

以下是 SVG 代码:

示例

<svg height="210" width="400" xmlns="http://www.w3.org/2000/svg">
  <path d="M150 5 L75 200 L225 200 Z"
  style="fill:none;stroke:green;stroke-width:3" />
</svg>
自己试一试 »


一条贝塞尔曲线

贝塞尔曲线用于模拟平滑曲线,可以无限缩放。通常,用户会选择两个端点和一个或两个控制点。只有一个控制点的贝塞尔曲线称为二次贝塞尔曲线。

以下示例创建了一条二次贝塞尔曲线,其中 A 和 C 是起点和终点,B 是控制点

A B C Sorry, your browser does not support inline SVG.

以下是 SVG 代码:

示例

<svg height="400" width="450" xmlns="http://www.w3.org/2000/svg">

<!-- 绘制路径 -->
<path id="lineAB" d="M 100 350 l 150 -300" stroke="red" stroke-width="4"/>
<path id="lineBC" d="M 250 50 l 150 300" stroke="red" stroke-width="4"/>
<path id="lineMID" d="M 175 200 l 150 0" stroke="green" stroke-width="4"/>
<path id="lineAC" d="M 100 350 q 150 -300 300 0" stroke="blue" stroke-width="4" fill="none"/>

<!-- 标记相关点 -->
<g stroke="black" stroke-width="3" fill="black">
<circle id="pointA" cx="100" cy="350" r="4" />
<circle id="pointB" cx="250" cy="50" r="4" />
<circle id="pointC" cx="400" cy="350" r="4" />
</g>

<!-- 标记点 -->
<g font-size="30" font-family="sans-serif" fill="green" text-anchor="middle">
<text x="100" y="350" dx="-30">A</text>
<text x="250" y="50" dy="-10">B</text>
<text x="400" y="350" dx="30">C</text>
</g>

</svg>
自己试一试 »

复杂吗? 是的! 由于绘制路径的复杂性,强烈建议使用 SVG 编辑器来创建复杂的图形。


×

Contact Sales

If you want to use W3Schools services as an educational institution, team or enterprise, send us an e-mail:
[email protected]

Report Error

If you want to report an error, or if you want to make a suggestion, send us an e-mail:
[email protected]

W3Schools is optimized for learning and training. Examples might be simplified to improve reading and learning. Tutorials, references, and examples are constantly reviewed to avoid errors, but we cannot warrant full correctness of all content. While using W3Schools, you agree to have read and accepted our terms of use, cookie and privacy policy.

Copyright 1999-2024 by Refsnes Data. All Rights Reserved. W3Schools is Powered by W3.CSS.