关于使用内联背景 SVG 的快速问题

Quick question about using inline background SVGs

我正在尝试使用内联 SVG 作为背景,但到目前为止还无法正常工作。我阅读了一些 Whosebug 帖子和 this css-关于如何做到这一点的技巧文章,但我无法让它工作:(

我正在尝试按照 css-tricks 文章中提供的说明使用简单的“X”SVG 作为 CSS 背景值,但显然我做错了什么,因为没有显示我的页面。下面是我的代码片段。

body {
  background: black;
}

.container {
 background:url('data:image/svg+xml,utf-8,<svg stroke="%23fff" viewBox="0 0 40 40"><path d="M 10,10 L 30,30 M 30,10 L 10,30"></path></svg>');
  height: 100vh;
  width: 90vw;
}
<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
</head>
<body>
  <div class="container"></div>
  <!-- <svg stroke="#fff" viewBox="0 0 40 40"><path d="M 10,10 L 30,30 M 30,10 L 10,30"></path></svg> -->
</body>
</html>

我将 HTML 文件中的 SVG 注释掉了。如果你取消注释,你可以看到当我正常使用它时 SVG 工作正常(作为 HTLM 元素)。只有当我将它用作 CSS 背景时,它才会崩溃。我尝试使用 base64 编码网站对其进行编码,因为我读到它解决了某些人的问题,但它对我不起作用。我不确定我在这里做错了什么。

我知道这可能是一个愚蠢的问题,所以我对此表示歉意。提前感谢任何提供帮助的人!

您有 1 个拼写错误,并且缺少 1 个命名空间定义:

错误: data:image/svg+xml,utf-8,<svg stroke="%23fff"

对 : data:image/svg+xml;utf-8,<svg xmlns="http://www.w3.org/2000/svg" stroke="%23fff"

body {
  background: black;
}

.container {
  background:url('data:image/svg+xml;utf-8,<svg xmlns="http://www.w3.org/2000/svg" stroke="%23fff" viewBox="0 0 40 40"><path d="M 10,10 L 30,30 M 30,10 L 10,30"></path></svg>');
  height: 100vh;
  width: 90vw;
}
  <div class="container"></div>

body { 背景图像:url("")}