- HTML 教程
- HTML - 首页
- HTML - 路线图
- HTML - 简介
- HTML - 历史与演变
- HTML - 编辑器
- HTML - 基本标签
- HTML - 元素
- HTML - 属性
- HTML - 标题
- HTML - 段落
- HTML - 字体
- HTML - 块
- HTML - 样式表
- HTML - 格式化
- HTML - 引用
- HTML - 注释
- HTML - 颜色
- HTML - 图片
- HTML - 图片地图
- HTML - Iframes
- HTML - 短语元素
- HTML - 元标签
- HTML - 类
- HTML - ID
- HTML - 背景
- HTML 表格
- HTML - 表格
- HTML - 表头和标题
- HTML - 表格样式
- HTML - 表格 Colgroup
- HTML - 嵌套表格
- HTML 列表
- HTML - 列表
- HTML - 无序列表
- HTML - 有序列表
- HTML - 定义列表
- HTML 链接
- HTML - 文本链接
- HTML - 图片链接
- HTML - 邮件链接
- HTML 颜色名称和值
- HTML - 颜色名称
- HTML - RGB
- HTML - HEX
- HTML - HSL
- HTML 表单
- HTML - 表单
- HTML - 表单属性
- HTML - 表单控件
- HTML - 输入属性
- HTML 媒体
- HTML - 视频元素
- HTML - 音频元素
- HTML - 嵌入多媒体
- HTML 头部
- HTML - Head 元素
- HTML - 添加 Favicon
- HTML - Javascript
- HTML 布局
- HTML - 布局
- HTML - 布局元素
- HTML - 使用 CSS 进行布局
- HTML - 响应式
- HTML - 符号
- HTML - 表情符号
- HTML - 样式指南
- HTML 图形
- HTML - SVG
- HTML - Canvas
- HTML API
- HTML - Geolocation API
- HTML - 拖放 API
- HTML - Web Workers API
- HTML - WebSocket
- HTML - Web 存储
- HTML - 服务器发送事件
- HTML 杂项
- HTML - 文档对象模型 (DOM)
- HTML - MathML
- HTML - 微数据
- HTML - IndexedDB
- HTML - Web 消息传递
- HTML - Web CORS
- HTML - Web RTC
- HTML 演示
- HTML - 音频播放器
- HTML - 视频播放器
- HTML - 网页幻灯片
- HTML 工具
- HTML - Velocity Draw
- HTML - 二维码
- HTML - Modernizer
- HTML - 验证
- HTML - 颜色拾取器
- HTML 参考
- HTML - 速查表
- HTML - 标签参考
- HTML - 属性参考
- HTML - 事件参考
- HTML - 字体参考
- HTML - ASCII 码
- ASCII 码表查询
- HTML - 颜色名称
- HTML - 实体
- MIME 媒体类型
- HTML - URL 编码
- 语言 ISO 代码
- HTML - 字符编码
- HTML - 已弃用的标签
- HTML 资源
- HTML - 快速指南
- HTML - 有用资源
- HTML - 颜色代码生成器
- HTML - 在线编辑器
HTML - SVG
HTML **SVG(可缩放矢量图形)** 用于在 XML 中定义矢量图形,这些图形可以嵌入到 HTML 页面中。SVG 与普通图像不同,因为它即使在缩放后也不会损失质量。
XML 是可扩展标记语言的缩写,它是一种数据描述语言。它没有预定义的标签,因此;用户需要根据需要定义自己的标签。
什么是 SVG?
- SVG 代表可缩放矢量图形。
- SVG 帮助我们使用 XML 代码绘制任何类型的图像。
- 缩放 XML 矢量不会损失其质量
- 它主要用于矢量类型图表,如饼图和 X、Y 坐标系中的二维图形。
- SVG 于 2003 年 1 月 14 日成为 W3C 建议。
SVG(可缩放矢量图形)
PNG、GIF 和 JPG 文件是位图图形,而 SVG 文件是矢量图形。这两者之间的主要区别在于位图图形由一个小像素网格组成,而矢量图形通过编码定义,因此矢量图形在缩放后不会损失质量。
如何在 HTML 中使用 SVG?
有两种方法可以在 HTML 中嵌入 SVG 文件
使用 <img> 标签
我们可以使用 <img> 标签的 src 属性将 SVG 文件直接嵌入到我们的网页中,如下所示。我们可以将 SVG 图片的路径或在线链接传递给它。
<img src = "yourfilename.svg"/>
使用 <svg> 标签
HTML 允许使用 **<svg>...</svg>** 标签直接嵌入 SVG,该标签具有以下语法
<svg> <!-- code to create graphics --> </svg>
SVG 元素内的标签
有一些预定义的 SVG 元素用于绘制各种形状,如圆形、矩形、线条等等。它们如下所示
标签 | 描述 |
---|---|
<rect> | 用于为给定的宽度和高度作为属性定义矢量图形中的矩形。 |
<circle> | 用于为给定左上角坐标和半径作为属性定义圆形。 |
<ellipse> | 用于为给定左上角坐标、长轴长度和短轴长度作为属性定义椭圆。 |
<line> | 用于为给定的两个坐标作为属性绘制线条 |
<polyline> | 用于为给定一系列连接点的坐标定义折线 |
<polygon> | 用于为给定的坐标定义多边形,这些坐标以直线连接。 |
**<svg>** 标签是上述标签的顶级(根)元素。它们在 svg 元素内定义。
SVG 元素的属性
下表包含 SVG 元素属性列表
属性 | 描述 |
---|---|
X |
左上角的 x 轴坐标。 |
Y |
左上角的 y 轴坐标。 |
width |
矩形图形的宽度。 |
height |
矩形图形的高度。 |
rx |
椭圆的 x 轴圆度。 |
ry |
椭圆的 y 轴圆度。 |
style |
指示内联样式。 |
HTML SVG 元素示例
以下是一些示例,展示了如何使用 SVG 标签绘制不同的图形元素。
使用 HTML SVG 标签绘制圆形
以下是 SVG 示例,它将使用 SVG 元素内的 **<circle>** 标签绘制一个圆形。这里 cx 是圆形左上角的 x 坐标,cy 是圆形右上角的 y 坐标
<!DOCTYPE html> <html> <head> <title>SVG-Circle</title> </head> <body> <h2>HTML SVG Circle</h2> <svg height="500" > <circle cx="50" cy="50" r="50" fill="red" /> </svg> </body> </html>
使用 HTML SVG 标签绘制矩形
以下是 SVG 示例,它将使用 **<rect>** 标签绘制一个矩形。我们使用 height 和 width 属性来制作矩形
<!DOCTYPE html> <html> <head> <title>SVG Rectangle</title> </head> <body> <h2>HTML SVG Rectangle</h2> <svg height = "200"> <rect width = "300" height = "100" fill = "red" /> </svg> </body> </html>
使用 HTML SVG 标签绘制线条
以下是 SVG 示例,它将使用 **<line>** 标签为提供的两点坐标 (x1,y1, x2,y2) 绘制一条线。我们还可以使用 style 属性,它允许我们设置其他样式信息,如笔划和填充颜色、笔划宽度等。
<!DOCTYPE html> <html> <head> <title>SVG Line</title> </head> <body> <h2>HTML SVG Line</h2> <svg height="200"> <line x1="0" y1="0" x2="200" y2="100" style="stroke:red;stroke-width:2"/> </svg> </body> </html>
使用 HTML SVG 标签绘制椭圆
以下是 SVG 示例,它将使用 <ellipse> 标签绘制一个椭圆。这里 cx 和 cy 是椭圆左上角的坐标,rx 是沿 x 轴的半径,ry 是沿 y 轴的半径。
<!DOCTYPE html> <html> <head> <title>SVG Ellipse</title> </head> <body> <h2>HTML SVG Ellipse</h2> <svg height="200"> <ellipse cx="100" cy="50" rx="100" ry="50" fill="red" /> </svg> </body> </html>
使用 HTML SVG 标签绘制多边形
以下是 SVG 示例,它将使用 <polygon> 标签绘制一个多边形。points 属性定义了多边形的顶点。每对坐标 (x, y) 指定一个顶点,并且通过用直线连接这些顶点来绘制多边形。
<!DOCTYPE html> <html> <head> <title>SVG</title> </head> <body> <h2>HTML SVG Polygon</h2> <svg height="200"> <polygon points="20,10, 300,20, 170,50, 130,70" fill="red" /> </svg> </body> </html>
使用 HTML SVG 标签绘制折线
以下是 SVG 示例,它将使用 <polyline> 标签绘制一条折线。我们在折线标签的“point”属性中给出了连接点的坐标。
<!DOCTYPE html> <html> <head> <title>SVG Polyline</title> </head> <body> <h2>HTML SVG Polyline</h2> <svg height="200"> <polyline points="0,0 0,30 30,30 30,60 60,60" fill="red" /> </svg> </body> </html>
填充形状的颜色渐变
以下是 SVG 示例,它将使用 <ellipse> 标签绘制一个椭圆,并将使用 <radialGradient> 标签定义一个 SVG 径向渐变。
类似地,您可以使用 <linearGradient> 标签创建 SVG 线性渐变。
<!DOCTYPE html> <html> <head> <title>SVG</title> </head> <body> <h2>HTML SVG Gradient Ellipse</h2> <svg height="200"> <defs> <radialGradient id="gradient" cx="50%" cy="50%" r="50%" fx="50%" fy="50%"> <stop offset="0%" style="stop-color:rgb(200,200,200);"/> <stop offset="100%" style="stop-color:rgb(0,0,255);"/> </radialGradient> </defs> <ellipse cx="100" cy="50" rx="100" ry="50" style="fill:url(#gradient)" /> </svg> </body> </html>
使用 HTML SVG 标签绘制星星
以下是 SVG 示例,它将使用 <polygon> 标签绘制一个星星。
<!DOCTYPE html> <html> <head> <title>SVG star</title> </head> <body> <h2>HTML SVG Star</h2> <svg height="200"> <polygon points="100,5 40,180 190,60 10,60 160,180" fill="red"/> </svg> </body> </html>