【发布时间】:2013-04-13 11:39:07
【问题描述】:
我在my_images.scss 文件中有这段代码:
$icon-layout:smart;
$icon-sprite-dimensions: true;
@import "icon/*.png";
@include all-icon-sprites;
输出是这样的:
.icon-sprite, .icon-asterisk, .icon-camera, .icon-clock, ... {
background: url('/../../media/img/icon-s00227a988a.png') no-repeat;
}
.icon-asterisk {
background-position: -108px -18px;
height: 18px;
width: 18px;
}
.icon-camera {
background-position: -54px -18px;
height: 18px;
width: 18px;
}
如何更改代码以在输出中包含自定义 CSS。我想生成这个:
.icon-sprite, .icon-asterisk, .icon-camera, .icon-clock, ...
{
background: url('/../../media/img/icon-s00227a988a.png') no-repeat;
/* My custom CSS here */
display: inline-block;
}
重要
对此我有一个不太好的解决方案:由于这些是使用@extend 构建的,因此您只需添加一个名为.icon-sprite 的选择器并包含自定义样式。像这样:
.icon-sprite {
display: inline-block;
}
$icon-layout:smart;
$icon-sprite-dimensions: true;
@import "icon/*.png";
@include all-icon-sprites;
编译成类似的东西:
.icon-sprite, .icon-asterisk, .icon-camera, .icon-clock, ... {
display: inline-block;
}
.icon-sprite, .icon-asterisk, .icon-camera, .icon-clock, ... {
background: url('/../../media/img/icon-s00227a988a.png') no-repeat;
}
...
但是复制 CSS 代码是完全多余的。我想生成:
.icon-sprite, .icon-asterisk, .icon-camera, .icon-clock, ... {
background: url('/../../media/img/icon-s00227a988a.png') no-repeat;
display: inline-block;
}
可以使用 Compass 吗? 提前致谢。
【问题讨论】:
-
Compass 无法做到这一点。尽管您可以将自定义基类(作为配置变量)传递给您的精灵图。欲了解更多信息:compass-style.org/help/tutorials/spriting/customization-options
标签: css sass compass-sass css-sprites