免费在线 SVG 转 CSS 和 Data URI 转换器

将您的 SVG 图标和矢量图转换为 CSS 代码(背景或遮罩)或压缩的 Data URI。通过消除外部 HTTP 请求来优化您的网站性能。

粘贴 SVG

SVG 源代码 原始预览

CSS 结果

应用后的结果
工具工作室

想把这个工具添加到你的网站吗?

为 WordPress、Notion 或你自己的网站自定义配色和深色模式。

常见问题

使用 Data URI 还是外部 .svg 文件更好?

这取决于使用场景。Data URI 消除了 HTTP 请求(非常适合小图标),但会增加 CSS 文件的大小。对于大型或细节丰富的插图,优先选择外部文件。

如何更改嵌入 CSS 的 SVG 的颜色?

最好的方法是通过“mask-image”。通过将 SVG 定义为遮罩(mask),您可以使用“background-color”动态更改其颜色,甚至在 :hover 状态下也可以。

哪些浏览器支持 CSS 遮罩(Masks)?

所有现代浏览器(Chrome、Firefox、Safari、Edge)都提供完全支持。对于较旧的浏览器,通常使用 -webkit- 前缀。

使用 Data URI 会影响 SEO 吗?

是的,有积极影响。通过减少渲染页面所需的请求数量,它可以缩短加载时间 (LCP) 并提高 Core Web Vitals 分数。

我可以在 React 或 Tailwind 等框架中使用它吗?

当然可以!您可以复制生成的代码并将其用于 .css 文件中,甚至可以作为 Tailwind CSS 中的任意值使用。

# 为什么要将 SVG 转换为 CSS Data URI?

在现代 Web 开发中,优化性能和资源加载至关重要。通过 Data URI 将图标直接嵌入 CSS 中可以消除不必要的 HTTP 请求,减少延迟并提高可交互时间 (TTI)。此工具将 <svg> 矢量代码转换为浏览器可以解释为背景图像或剪切遮罩的编码文本字符串,同时保持矢量图特有的无限扩展性和清晰度。

# 主要技术优势

  • 零 HTTP 请求: 通过将图形嵌入到 .css 文件中,浏览器无需下载额外的外部文件。
  • 通过 CSS 遮罩进行自定义: 使用 mask-image 技术,您只需使用 background-color 即可更改复杂矢量图标的颜色。
  • 即时渲染: 由于关键视觉资源在样式表下载后即可立即使用,您可以避免内容闪烁 (FOUC)。

# CSS 遮罩 vs 背景

许多开发人员仅仅使用 background-image 来嵌入矢量图,但这有一个限制:您无法从 CSS 动态更改 SVG 颜色。我们的工具支持为 CSS 遮罩生成代码。通过在生成的 Data URI 中应用 mask-image,图标将充当模板,允许元素的 background-color 定义最终的图标颜色。这是在 Astro、Next.js 或任何现代框架中管理图标的最专业且最灵活的方式。

参考文献