SVG 基本语法

SVG 基本语法

SVG(Scalable Vector Graphics,可缩放矢量图形)是一种用于描述二维图形的语言,基于 XML。它由 W3C 制定,是一种开放的标准。SVG 图形可以在不失真的情况下放大或缩小,因此它们非常适合网页设计、打印图形和高分辨率的屏幕显示。

SVG 文档结构

一个基本的 SVG 文档结构如下所示:

<svg
    width="100%"
    height="100%"
    viewBox="0 0 100 100"
    xmlns="http://www.w3.org/2000/svg">
    <!-- SVG 内容 -->
</svg>
  • widthheight 属性定义了 SVG 图形的宽度和高度。
  • viewBox 属性是一个矩形,定义了 SVG 图形的可视区域。前两个数字是左上角的 x 和 y 坐标,后两个数字是视口的宽度和高度。
  • xmlns 属性定义了 SVG 命名空间。

常用的 SVG 元素

1. 矩形 <rect>

<rect x="10" y="10" width="30" height="20" style="fill:blue;stroke:black;stroke-width:2"/>
  • xy 属性定义了矩形的左上角坐标。
  • widthheight 属性定义了矩形的宽度和高度。
  • style 属性定义了矩形的填充颜色、边框颜色和边框宽度。

2. 圆形 <circle>

<circle cx="50" cy="50" r="40" stroke="black" stroke-width="3" fill="red"/>
  • cxcy 属性定义了圆心的 x 和 y 坐标。
  • r 属性定义了圆的半径。

3. 椭圆 <ellipse>

<ellipse cx="75" cy="75" rx="20" ry="5" style="fill:yellow;stroke:purple;stroke-width:2"/>
  • cxcy 属性定义了椭圆中心的 x 和 y 坐标。
  • rxry 属性定义了椭圆的 x 和 y 轴半径。

4. 直线 <line>

<line x1="10" y1="10" x2="50" y2="50" style="stroke:blue;stroke-width:2"/>
  • x1y1 属性定义了直线的起点坐标。
  • x2y2 属性定义了直线的终点坐标。

5. 多边形 <polygon>

<polygon points="200,10 250,190 160,210" style="fill:lime;stroke:purple;stroke-width:1"/>
  • points 属性定义了多边形每个角的 x 和 y 坐标。

6. 路径 <path>

<path d="M10 10 H 90 V 90 H 10 L 10 10" fill="none" stroke="black"/>
  • d 属性定义了路径的指令。M 表示移动到某个点,H 表示水平线,V 表示垂直线,L 表示直线。

SVG 样式和属性

SVG 元素可以通过 CSS 样式或内联样式进行样式化。以下是一些常用的样式属性:

  • fill:定义了形状的填充颜色。
  • stroke:定义了形状的边框颜色。
  • stroke-width:定义了形状的边框宽度。
  • opacity:定义了形状的不透明度。

在网页中使用 SVG

SVG 图形可以直接嵌入 HTML 页面中,也可以作为图片引用。例如:

<!-- 直接嵌入 HTML -->
<svg>
    <!-- SVG 内容 -->
</svg>

<!-- 作为图片引用 -->
<img src="image.svg" alt="SVG Image">

结论

SVG 提供了一种强大且灵活的方式来创建和操作矢量图形。通过掌握基本的 SVG 语法和元素,开发者可以创建出丰富多样的图形和动画效果,以增强网页的视觉效果和用户体验。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值