zoukankan      html  css  js  c++  java
  • 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图片为偶数宽高,默认 0
        padding: 10,
        // 是否使用 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

  • 相关阅读:
    代码互改
    第一次个人编程作业
    第一次博客
    个人总结
    第三次个人作业--用例图设计
    第二次结对作业
    第一次结对作业
    记录浏览他人代码
    中文编程作业
    第一篇随笔
  • 原文地址:https://www.cnblogs.com/cyj7/p/4846951.html
Copyright © 2011-2022 走看看