postcss-athena-spritesmith
针对Athena
订制的CSS雪碧图
工具,源码改自postcss-sprite
ChangeLog
Install
npm install postcss-athena-spritesmith -D
How To Use
gulpfile.js
var gulp = ;var postcss = ;var sprites = ;var opts = stylesheetPath: modulePath + '/dist/_static/css/' spritePath: modulePath + '/dist/_static/images/sprite.png' retina: true verbose: truegulp
source.css
直接在需要合并雪碧图的CSS的url图片带
?__sprite
后缀即可
/* 请确保需要合并雪碧图的后缀带有`?__sprite` */
功能更新目录
提供了自定义生成多张雪碧图的功能,例如引用图片A/B/C/D,想要让A/B生成雪碧图sprite_1,C/D生成雪碧图sprite_2,则可以通过分别携带后缀?__sprite=sprite_1和?__sprite=sprite_2来生成两张雪碧图。
source.css
output.css
配置中 rootValue
是控制当前模块全局的 rem
开关,如果想要指定某一处图片相关样式使用 px
或 rem
单位,可以在引用图片的地方通过参数指定,例如
// 指定使用 ` // 指定使用 ` // 使用 `
配置中 __widthHeight
是控制关闭强制替换背景图width和height,例如
// 强制使用 `__
增加 __widthHeight
与 __rem=20
同时配置使用
.a {
background-image: url('images/A.png?__sprite=sprite_1&__widthHeight&__rem=20');
width: 22px;
height: 30px;
}
output.css
.a {
background-image: url('images/sprite_sprite_1.png');
background-position: -81.6rem -24.05rem;
background-repeat: no-repeat;
width: 1.1rem;
height: 1.5rem;
}