开发喵星球

HTML5 SVG(33)

HTML5 SVG(33)


SVG 定义为可缩放矢量图形。

HTML5 支持内联 SVG。

HTML 元素是 SVG 图形的容器。

SVG 有多种绘制路径、框、圆、文本和图形图像的方法。

image-20240321153603393


什么是SVG?


SVG优势

与其他图像格式相比(比如 JPEG 和 GIF),使用 SVG 的优势在于:


浏览器支持

表格中的数字表示支持该元素的第一个浏览器版本号。

image-20240321153800170


把 SVG 直接嵌入 HTML 页面

在 HTML5 中,您能够将 SVG 元素直接嵌入 HTML 页面中。

SVG 圆形

实例

<svg xmlns="http://www.w3.org/2000/svg" version="1.1">
   <circle cx="100" cy="50" r="40" stroke="black" stroke-width="2" fill="red" />
</svg>

结果:

image-20240321154007740

SVG 五角星

实例

<!DOCTYPE html>
<html>
<body>

<svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="190">
  <polygon points="100,10 40,180 190,60 10,60 160,180"
  style="fill:lime;stroke:purple;stroke-width:5;fill-rule:evenodd;">
</svg>

</body>
</html>

结果:

image-20240321154115128


SVG 与 Canvas两者间的区别

SVG 是一种使用 XML 描述 2D 图形的语言。

Canvas 通过 JavaScript 来绘制 2D 图形。

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

在 SVG 中,每个被绘制的图形均被视为对象。如果 SVG 对象的属性发生变化,那么浏览器能够自动重现图形。

Canvas 是逐像素进行渲染的。在 canvas 中,一旦图形被绘制完成,它就不会继续得到浏览器的关注。如果其位置发生变化,那么整个场景也需要重新绘制,包括任何或许已被图形覆盖的对象。


Canvas 与 SVG 的比较

下表列出了 canvas 与 SVG 之间的一些不同之处。

image-20240321154254384

   
分类:前端工程师 作者:荡荡, 浩浩 发表于:2024-03-21 15:43:17 阅读量:102
<<   >>


powered by kaifamiao