菜单
×
   ❮     
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
     ❯   

HTML 教程

HTML 首页 HTML 简介 HTML 编辑器 HTML 基础 HTML 元素 HTML 属性 HTML 标题 HTML 段落 HTML 样式 HTML 格式化 HTML 引用 HTML 注释 HTML 颜色 HTML CSS HTML 链接 HTML 图像 HTML 收藏夹图标 HTML 页面标题 HTML 表格 HTML 列表 HTML 块和内联元素 HTML Div HTML 类 HTML Id HTML Iframes HTML JavaScript HTML 文件路径 HTML Head HTML 布局 HTML 响应式 HTML 计算机代码 HTML 语义化 HTML 样式指南 HTML 实体 HTML 符号 HTML 表情符号 HTML 字符集 HTML URL 编码 HTML vs. XHTML

HTML 表单

HTML 表单 HTML 表单属性 HTML 表单元素 HTML 输入类型 HTML 输入属性 输入表单属性

HTML 图形

HTML Canvas HTML SVG

HTML 媒体

HTML 媒体 HTML 视频 HTML 音频 HTML 插件 HTML YouTube

HTML API

HTML 地理定位 HTML 拖放 HTML Web 存储 HTML Web Workers HTML SSE

HTML 示例

HTML 示例 HTML 编辑器 HTML 测验 HTML 练习 HTML 网站 HTML 面试准备 HTML 新兵训练营 HTML 证书 HTML 摘要 HTML 无障碍性

HTML 参考

HTML 标签列表 HTML 属性 HTML 全局属性 HTML 浏览器支持 HTML 事件 HTML 颜色 HTML Canvas HTML 音频/视频 HTML Doctype HTML 字符集 HTML URL 编码 HTML 语言代码 HTTP 消息 HTTP 方法 PX 转 EM 转换器 键盘快捷键

HTML SVG 图形


SVG(可缩放矢量图形)

SVG 定义 XML 中的矢量图形,可直接嵌入 HTML 页面。

SVG 图形是可缩放的,在缩放或调整大小时不会丢失任何质量

����� ����� SVG Sorry, your browser does not support inline SVG.

SVG 受所有主要浏览器支持。


什么是 SVG?

  • SVG 代表可缩放矢量图形
  • SVG 用于定义 Web 的矢量图形
  • SVG 以 XML 格式定义图形
  • SVG 文件中的每个元素和属性都可以设置动画
  • SVG 是 W3C 的推荐标准
  • SVG 与其他标准集成,如 CSS、DOM、XSL 和 JavaScript

the <svg> 元素

HTML <svg> 元素是 SVG 图形的容器。

SVG 有多种绘制路径、矩形、圆形、多边形、文本等的方法。


SVG 圆形

Sorry, your browser does not support inline SVG.

示例

<!DOCTYPE html>
<html>
<body>

<svg width="100" height="100">
  <circle cx="50" cy="50" r="40" stroke="green" stroke-width="4" fill="yellow" />
</svg>

</body>
</html>
自己动手试一试 »


SVG 矩形

Sorry, your browser does not support inline SVG.

示例

<svg width="400" height="120">
  <rect x="10" y="10" width="200" height="100" stroke="red" stroke-width="6" fill="blue" />
</svg>
自己动手试一试 »

带透明度和圆角的 SVG 矩形

Sorry, your browser does not support inline SVG.

示例

<svg width="400" height="180">
  <rect x="50" y="20" rx="20" ry="20" width="150" height="150"
  style="fill:red;stroke:black;stroke-width:5;opacity:0.5" />
</svg>
自己动手试一试 »

SVG 星形

Sorry, your browser does not support inline SVG.

示例

<svg width="300" height="200">
  <polygon points="100,10 40,198 190,78 10,78 160,198"
  style="fill:lime;stroke:purple;stroke-width:5;fill-rule:evenodd;" />
</svg>
自己动手试一试 »

SVG 渐变椭圆和文本

����� ����� SVG Sorry, your browser does not support inline SVG.

示例

<svg height="130" width="500">
  <defs>
    <linearGradient id="grad1">
      <stop offset="0%" stop-color="yellow" />
      <stop offset="100%" stop-color="red" />
    </linearGradient>
  </defs>
  <ellipse cx="100" cy="70" rx="85" ry="55" fill="url(#grad1)" />
  <text fill="#ffffff" font-size="45" font-family="Verdana" x="50" y="86">SVG</text>
  抱歉,您的浏览器不支持内嵌 SVG。
</svg>
自己动手试一试 »

SVG 和 Canvas 之间的区别

SVG 是用于在 XML 中描述 2D 图形的一种语言,而 Canvas 则使用 JavaScript 实时绘制 2D 图形。

SVG 基于 XML,这意味着 SVG DOM 中的每个元素都可用。您可以为 SVG 图形附加 JavaScript 事件处理程序。

在 SVG 中,每个绘制的形状都被记为一个对象。如果 SVG 对象的属性发生更改,浏览器可以自动重新渲染形状。

Canvas 是逐像素渲染的。在 Canvas 中,一旦图形被绘制,浏览器就会将其遗忘。如果需要更改其位置,则必须重绘整个场景,包括可能被该图形覆盖的任何对象。


SVG 和 Canvas 的比较

下表显示了 Canvas 和 SVG 之间的一些重要区别

SVG 画布
  • 分辨率无关
  • 支持事件处理程序
  • 优秀的文本渲染能力
  • 复杂时渲染速度慢
  • 不适合游戏应用
  • 分辨率相关
  • 不支持事件处理程序
  • 文本渲染能力差
  • 可以保存生成的图像为 .png 或 .jpg
  • 非常适合图形密集型游戏

SVG 教程

要了解更多关于 SVG 的信息,请阅读我们的 SVG 教程


×

联系销售

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

报告错误

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

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

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