菜单
×
   ❮     
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> 元素有一个基本属性,用于定义路径的点和其他绘图命令。

Attribute 描述
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 编辑器来创建复杂的图形。


×

联系销售

如果您想将 W3Schools 服务用于教育机构、团队或企业,请发送电子邮件给我们
sales@w3schools.com

报告错误

如果您想报告错误,或想提出建议,请发送电子邮件给我们
help@w3schools.com

W3Schools 经过优化,旨在方便学习和培训。示例可能经过简化,以提高阅读和学习体验。教程、参考资料和示例会不断审查,以避免错误,但我们无法保证所有内容的完全正确性。使用 W3Schools 即表示您已阅读并接受我们的使用条款Cookie 和隐私政策

版权所有 1999-2024 Refsnes Data。保留所有权利。W3Schools 由 W3.CSS 提供支持