最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 科技 - 知识百科 - 正文

gulp-css-spriter将css代码中的切片图片合并成雪碧图_html/css

来源:动视网 责编:小采 时间:2020-11-27 16:02:34
文档

gulp-css-spriter将css代码中的切片图片合并成雪碧图_html/css

gulp-css-spriter将css代码中的切片图片合并成雪碧图_html/css_WEB-ITnose:NPM地址:https://www.npmjs.com/package/gulp-css-spriter/ 配置gulpfile.js: var gulp = require('gulp'), minifyCSS = require('gulp-minify-css'), spriter = require('gulp-css-sprit
推荐度:
导读gulp-css-spriter将css代码中的切片图片合并成雪碧图_html/css_WEB-ITnose:NPM地址:https://www.npmjs.com/package/gulp-css-spriter/ 配置gulpfile.js: var gulp = require('gulp'), minifyCSS = require('gulp-minify-css'), spriter = require('gulp-css-sprit


NPM地址:https://www.npmjs.com/package/gulp-css-spriter/

配置gulpfile.js:

var gulp = require('gulp'),

minifyCSS = require('gulp-minify-css'),
spriter = require('gulp-css-spriter');

gulp.task('css', function() {

var timestamp = + new Date();
// 需要自动合并雪碧图的样式文件
return gulp.src('./src/css/style.css')
.pipe(spriter({
// 生成的spriter的位置
'spriteSheet': './dist/images/sprite'+timestamp+'.png',
// 生成样式文件图片引用地址的路径
// 如下将生产:backgound:url(../images/sprite20324232.png)
'pathToSpriteSheetFromCSS': '../images/sprite'+timestamp+'.png'
}))
.pipe(minifyCSS())
// 产出路径
.pipe(gulp.dest('./dist'));
});

技巧 :

gulp-css-spriter默认会对样式文件里,所有的background/background-image的图片合并,

但实际项目中,我们不是所有的图片都需要合并。

background-image: url(../slice/p1-3.png?__spriter);//有?__spriter后缀的合并

background-image: url(../slice/p-cao1.png); //不合并

修改下面文件可以按需合并。

node_modules\gulp-css-spriter\lib\map-over-styles-and-transform-background-image-declarations.js

48行开始的if-else if代码块中,替换为下面代码:

// background-image always has a url 且判断url是否有?__spriter后缀

if(transformedDeclaration.property === 'background-image' && /\?__spriter/i.test(transformedDeclaration.value)) {

transformedDeclaration.value = transformedDeclaration.value.replace('?__spriter','');
return cb(transformedDeclaration, declarationIndex, declarations);
}
// Background is a shorthand property so make sure `url()` is in there 且判断url是否有?__spriter后缀
else if(transformedDeclaration.property === 'background' && /\?__spriter/i.test(transformedDeclaration.value)) {

transformedDeclaration.value = transformedDeclaration.value.replace('?__spriter','');
var hasImageValue = spriterUtil.backgroundURLRegex.test(transformedDeclaration.value);

if(hasImageValue) {
return cb(transformedDeclaration, declarationIndex, declarations);
}
}

如图:

执行效果:

文档

gulp-css-spriter将css代码中的切片图片合并成雪碧图_html/css

gulp-css-spriter将css代码中的切片图片合并成雪碧图_html/css_WEB-ITnose:NPM地址:https://www.npmjs.com/package/gulp-css-spriter/ 配置gulpfile.js: var gulp = require('gulp'), minifyCSS = require('gulp-minify-css'), spriter = require('gulp-css-sprit
推荐度:
标签: 图片 html htm
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top