1

在 css 中(据我所知,在其他任何地方,甚至在地址字符串中)都可以像这样指定 base64 格式的图像:

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAGHRFWHRBdXRob3IAbWluZWNyYWZ0aW5mby5jb23fZidLAAAAk0lEQVQ4y2P4//8/AyUYwcAD+OzN/oMwshjRBoA0Gr8+DcbIhhBlAEyz+qZZ/7WPryHNAGTNMOxpJvo/w0/uP0kGgGwGaZbrKgfTGnLc/0nyAgiDbEY2BCRGdCDCnA2yGeYVog0Aae5MV4c7Gzk6CRqAbDM2w/EaQEgzXgPQnU2SAcTYjNMAYm3GaQCxNuM0gFwMAPUKd8XyBVDcAAAAAElFTkSuQmCC

在我的项目中,我在单个 css 文件的不同位置多次使用图像。目前处于开发阶段,我使用 LESS 将图像存储在变量中,然后编译为 CSS。

主要问题是:是否可以仅使用 css 将 base64 指定为某种内部名称(可能是 URI,idk)一次,以便在整个样式表中以该名称的某个位置使用它? (就像我们对加载到 css 的外部字体所做的那样——我们只指定一次 url 并命名它,然后我们使用我们给它的名称的字体)

我真正需要的是能够在 CSS 中只用一些“但是”指定该数据一次(阅读下文)

说,做这样的事情:

@data{
 data-name: anAxe;
 src: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAGHRFWHRBdXRob3IAbWluZWNyYWZ0aW5mby5jb23fZidLAAAAk0lEQVQ4y2P4//8/AyUYwcAD+OzN/oMwshjRBoA0Gr8+DcbIhhBlAEyz+qZZ/7WPryHNAGTNMOxpJvo/w0/uP0kGgGwGaZbrKgfTGnLc/0nyAgiDbEY2BCRGdCDCnA2yGeYVog0Aae5MV4c7Gzk6CRqAbDM2w/EaQEgzXgPQnU2SAcTYjNMAYm3GaQCxNuM0gFwMAPUKd8XyBVDcAAAAAElFTkSuQmCC');
}

接着

.axeButton{
 background: 'anAxe';
}

我可以为多个类定义背景,但由于某些原因,这不是一个选项。我也可以使用客户端 LESS,但它也不是一个选项。

有什么选择吗?

4

1 回答 1

3

我认为这在 CSS 中是不可能的,但是如果可以的话,您可以将该数据 URI 放在一个全局文件中,如页眉或页脚,并使用 JavaScript 重新使用它。

或者,您可以在 CSS 中对选择器进行分组,例如

#a, .b.c, #c d { data URI goes here .. } 
于 2013-07-26T19:20:38.327 回答