雪碧图:sprite 是把多张图片拼到一张图中,提升性能的一种做法。把合并的图片一次性加载到内存中,需要时只渲染一部分。

我们选择gulp.spritesmith插件。

使用gulp时首先要在指定的任务目录下本地安装 gulp及任务需要的gulp插件。

(1)建立package.json文件,可以手动建立。也可以使用 cnpm init,然后在命令行中写(学用命令行)

(2)在指定的任务目录下本地安装gulp及插件:   cnpm install gulp --save

                       cnpm install gulp.spritesmith --save

(3)新建任务文件 gulpfile.js

 然后我们就可以在这个文件里写我们的代码了。

  我们将任务取名为 sprite,

  合成的素材存在imgs文件夹下:

  合成后输出的雪碧图名字为 sprite.png,对应的css为sprite.css

  输出的存储路径为result文件夹

  • 代码第一版:(没有任何设置,最简单的版本)

      

   效果:

         

   对应的sprite.css

         

  •  然后我们可以进一步控制下输出的样式

  第二版代码:

      

  其中,padding表示合并时每个图片的间距

     algorithm表示合成时的排列方式(有四种):

        

     cssTemplate引入的是一个.css文件 ,用来设置更多的样式:(#表示循环)csstemplate.css

        

   效果:

       

  对应的sprite.css