css - 使用 base64 svg 图片作为 css 内容源

标签 css svg base64

我正在尝试使用 CSS 内容和图像 (base64),但是当我加载页面时,它像断开的链接图像一样加载。

现在,我正在使用网站下载 base64 图像,这是我正在使用的 css,它给我损坏的图像:

.default:after{
    content: url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAxNi4wLjQsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAtLT4NCjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+DQo8c3ZnIHZlcnNpb249IjEuMSIgaWQ9IkNhcGFfMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgeD0iMHB4IiB5PSIwcHgiDQoJIHdpZHRoPSIxNnB4IiBoZWlnaHQ9IjE2cHgiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZW5hYmxlLWJhY2tncm91bmQ9Im5ldyAwIDAgMTYgMTYiIHhtbDpzcGFjZT0icHJlc2VydmUiPg0KPHBhdGggZD0iTTgsMEMzLjU4MiwwLDAsMy41ODIsMCw4czMuNTgyLDgsOCw4czgtMy41ODIsOC04UzEyLjQxOCwwLDgsMHogTTksMTJjMCwwLjU1Mi0wLjQ0OCwxLTEsMXMtMS0wLjQ0OC0xLTFWNw0KCWMwLTAuNTUyLDAuNDQ4LTEsMS0xczEsMC40NDgsMSwxVjEyeiBNOCw1LjAxNmMtMC41NTIsMC0xLTAuNDQ4LTEtMWMwLTAuNTUyLDAuNDQ4LTEsMS0xczEsMC40NDgsMSwxQzksNC41NjgsOC41NTIsNS4wMTYsOCw1LjAxNnoNCgkiLz4NCjwvc3ZnPg0K1422f94715e8d9b67004ad32568deab3');
    position:absolute;
    width:100px;
    height:100px;
  }

如果我将“损坏的”base 64 图像打开到新的 chrome 选项卡中,则会出现以下错误:

This page contains the following errors:

error on line 10 at column 1: Extra content at the end of the document Below is a rendering of the page up to the first error.

现在,我从未使用过 base64 图像,但我必须做一些特别的事情,或者应该只是复制并粘贴自动生成的代码?

在此先感谢您的帮助

**PS:我是在本地开发的,不知道是不是这个原因。

最佳答案

您可以使用这个简单的 bash 命令轻松地将 SVG 文件转换为 CSS 背景属性的 base64 编码值:

echo "background: transparent url('data:image/svg+xml;base64,"$(openssl base64 < path/to/file.svg)"') no-repeat center center;"

在 Mac OS X 上测试。 这样您也可以避免 URL 转义困惑。

请记住,对 SVG 文件进行 base64 编码会增加其大小,请参阅 css-tricks.com blog post

关于css - 使用 base64 svg 图片作为 css 内容源,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26224858/

相关文章:

html - 显示 css 属性不适用于打印样式表

css - 从下一个数组条目获取@each vars 中的 SCSS Mixin

javascript - 无限水平地重复 SVG

android - 如何在 Android 中使用 HTTP POST 将图像作为 JSON 中的 base64 字符串发送?

html - Bootstrap 中的等高嵌套 div

html - 无法弄清楚如何删除 div 末尾不必要的空间

javascript - D3.js:如果我添加这两个语句,为什么条形图会翻转

javascript - Windows 8 上的 Safari 5 反转 SVG 上的所有文本元素

c++ - Qt - 从 base64 解码二进制序列

node.js - 如何将 base64 编码的内存图像作为文件参数发布