grunt-css-sprite css 代码中的切片合并
安装插件:npm install grunt-css-sprite --save-dev
grunt-css-sprite主要功能:
1.对 css 文件进行处理,收集切片序列,生成雪碧图
2.在原css代码中为切片添加background-position属性
3.生成用于高清设备的高清雪碧图,并在css文件末尾追加媒体查询代码
4.生成高清设备雪碧图,使用 image-set
5.支持选择器提取,进一步优化CSS文件大小
6.在引用雪碧图的位置打上时间戳
7.在样式末尾追加时间戳
8.按照时间戳命名文件
配置说明:
imagepath
必填项,sprite背景图源文件夹,只有匹配此路径才会处理,默认为images/slice/
imagepath_map
映射css中背景路径,支持函数和数组,默认为 null
spritedest
必填项,雪碧图输出目录,注意,会覆盖之前文件!默认 images/
spritepath
可选项,替换后的背景路径,默认为 path.relative(cssDestPath, spriteDestPath);
padding
可选项,指定各图片间间距,如果设置为奇数,会强制+1以保证生成的2x图片为偶数宽
高,默认 0
useimageset
可选项,是否使用 image-set 作为2x图片实现,默认不使用
newsprite
可选项,是否以时间戳为文件名生成新的雪碧图文件,如果启用请注意清理之前生成的文件,默认不生成新文件
spritestamp
可选项,是否给雪碧图追加时间戳,默认不追加
cssstamp
可选项,是否在CSS文件末尾追加时间戳,默认不追加
engine
可选项,指定图像处理引擎,默认选择pngsmith
algorithm
可选项,指定排列方式,有top-down (从上至下), left-right(从左至右), diagonal(从左上至右下), alt-diagonal (从左下至右上)和 binary-tree(二叉树最优排列算法) 五种供选择,默认 binary-tree
自动雪碧图实例:
sprite: {
options: {
// sprite背景图源文件夹,只有匹配此路径才会处理,默认 images/slice/
imagepath: 'img1/',
// 映射CSS中背景路径,支持函数和数组,默认为 null
imagepath_map: null,
// 雪碧图输出目录,注意,会覆盖之前文件!默认 images/
spritedest: 'img1/',
// 替换后的背景路径,默认 ../images/
spritepath: '../img1/',
// 各图片间间距,如果设置为奇数,会强制+1以保证生成的2x图片为偶数宽高,默认
padding: ,
// 是否使用 image-set 作为2x图片实现,默认不使用
useimageset: false,
// 是否以时间戳为文件名生成新的雪碧图文件,如果启用请注意清理之前生成的文件,默认不生成新文件
newsprite: false,
// 给雪碧图追加时间戳,默认不追加
spritestamp: true,
// 在CSS文件末尾追加时间戳,默认不追加
cssstamp: true,
// 默认使用二叉树最优排列算法
algorithm: 'binary-tree',
// 默认使用`pixelsmith`图像处理引擎
engine: 'pixelsmith'
},
autoSprite: {
files: {
// 启用动态扩展
expand: true,
// css文件源的文件夹
cwd: 'css/',
// 匹配规则
src: '*.css',
// 导出css和sprite的路径地址
dest: 'stylesheets/',
// 导出的css名
ext: '.sprite.css'
}
}
}
特别注意
1.生成后的雪碧图将以源 css 文件名来命名
2.仅当CSS中定义url(xxxx)的路径匹配参数imagepath才进行处理,和具体background,background-imageCSS无关,这里有区别于grunt-sprite
3.理论上高清切片都应该是源切片尺寸的2倍,所以所有高清切片的尺寸宽和高都必须是偶数
4.理论上所有的切片都应该是 .png 格式,png8 png24 和 png32不限
5.spritesmith 默认只支持png格式
参考于https://www.npmjs.com/package/grunt-css-sprite
grunt-sprite:https://www.npmjs.com/package/grunt-sprite
grunt-css-sprite css 代码中的切片合并的更多相关文章
- gulp-css-spriter 将css代码中的切片图片合并成雪碧图
NPM地址:https://www.npmjs.com/package/gulp-css-spriter/ 配置gulpfile.js: var gulp = require('gulp'), ...
- css sprite css雪碧图生成工具
最新地址:http://www.cnblogs.com/wang4517/p/4476758.html
- css sprite,css雪碧图生成工具V3.0更新
V3.0主要改进 1.增加了单独添加单张图片以及删除单张图片的功能 2.增加了生成.sprite文件用以保存雪碧图信息 3.增加了打开.sprite文件功能 什么是css sprite CSS spr ...
- background-size之CSS Sprite巧用
前言 background-size:规定背景图片的尺寸.为CSS3属性.so...万恶的ie浏览器,此刻的内心一定是崩溃的!说实话,作为一个前端的coder,面对CSS3如此多的炫酷效果,我不能用起 ...
- GWT 中实现“CSS Sprite”
近段时间在弄GWT这一块,开发中遇到的一些不错的方法或者技巧,在此做个分享和记录,有不同见解可发表意见 互相切磋. 在web开发中,必然涉及到网页中的图片,本地浏览网页,要下载在服务器端的图片,然后 ...
- css sprite 调整大张图片中小图标的大小
直接说解决方法: 假设一张拼合好的大图大小是:900 x 1000 px (如上图) 现在想取图中左上角的河马图标,并缩小图标的大小. 正常取图: .sprite { background: url( ...
- 模拟jQuery中的ready方法及实现按需加载css,js实例代码
这篇文章介绍了模拟jQuery中的ready方法及实现按需加载css,js实例代码,有需要的朋友可以参考一下 一.ready函数的实现经常用jQuery类库或其他类库中的ready方法,有时候 ...
- webpack中css文件的代码分割
module.exports = { output: { filename: '[name].js', chunkFilename: '[name].chunk.js', path: path.res ...
- CSS样式写在JSP代码中的几种方法
1.行内样式. 可以直接把css代码写在现有的HTML标签元素的开始标签里面,并且css样式代码要写在style=" "双引号中才可以, 如: <p style=" ...
随机推荐
- Linux进程信号
信号 名称 描述 1 HUP 挂起 2 INT 中断 3 QUIT 结束运行 9 KILL 无条件终止 11 SEGV 段错误 15 TERM 尽可能终止 17 STOP 无条件停止运行,但不终止 1 ...
- 强化学习应用于游戏Tic-Tac-Toe
Tic-Tac-Toe游戏为3*3格子里轮流下棋,一方先有3子成直线的为赢家. 参考代码如下,我只删除了几个没用的地方: ####################################### ...
- SQLite扫描
SQLite的扫盲 SQLite的是一种嵌入式数据库,它的数据库就是一个文件.由于SQLite的本身是Ç写的,而且体积很小,所以经常被集成到各种应用程序中,主要在手机的应用中使用. 之前没有遇到过关于 ...
- 时间转换:DateTimeExtensions
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ...
- [xpath] 定位中starts-with、contains和text()的用法
starts-with 顾名思义,匹配一个属性开始位置的关键字 contains 匹配一个属性值中包含的字符串 text() 匹配的是显示文本信息,此处也可以用来做定位用 eg //input[sta ...
- 2019牛客暑期多校训练营(第一场)-B.Integration()
链接:https://ac.nowcoder.com/acm/contest/881/B 题意:给出n,和数组a[n],求特定表达式取模后的值. 思路:用到列项相消:
- java 给不同成绩分等级
题目:利用条件运算符的嵌套来完成此题:学习成绩>=90分的同学用A表示,60-89分之间的用B表示,60分以下的用C表示. 程序分析:(a>b)?a:b这是条件运算符的基本例子. pack ...
- SpringDataRedis配置
1.父pom.xml配置依赖包 <dependencyManagement> <dependencies> <dependency> <groupId> ...
- java循环队列实现代码
public class Queue { //队首指针 private int front; //队尾指针 private int rear; //数组 private int[] arr; //数组 ...
- 第1章 Java开发入门
一.填空题 1.Java SE.Java EE.Java ME 2.JRE 3.javac 4.bin 5.path.-class path 二.判断题 1.√ 2.× JDK: java devel ...