09: 使用 Data URI 的 SVG

我们已经介绍了“内联 SVG” - 它将 SVG 语法直接放入 HTML 中。您也可以在其他地方使用相同的内联 SVG,例如在 <img>background-image 中。这很奇怪。

就像

<img src='data:image/svg+xml;utf8,<svg ... > ... </svg>'>

您将整个 SVG 语法放在您看到 <svg> 开始的地方。

同样在 CSS 中

.bg {
  background: url('data:image/svg+xml;utf8,<svg ...> ... </svg>');
}

除此之外,您可以将 SVG 转换为 Base64 编码,它也可以作为 Data URI 工作,例如

<img alt="" src="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDo etc">

这在 CSS 中也能正常工作(可能在其他地方也能工作,任何您使用图形的地方都能使用。)

查看 CodePen 上 Chris Coyier (@chriscoyier) 编写的 使用 Data URI 的 SVG(多种方式) 演示。