webpack雪碧图

作者: 金字笙调 | 来源:发表于2017-06-10 10:05 被阅读0次

安装 webpack-spritesmith

在webpack.config.js中配置

    plugins: [
        new SpritesmithPlugin({
            // 目标小图标
            src: {
                cwd: path.resolve(__dirname, 'app/images/'),
                glob: '*.png'
            },
            // 输出雪碧图文件及样式文件
            target: {
                image: path.resolve(__dirname, 'build/images/sprite.png'),
                //css: path.resolve(__dirname, 'build/css/_sprite.scss')
                css: path.resolve(__dirname, 'build/css/sprite.css')
            },
            // 样式文件中调用雪碧图地址写法
            apiOptions: {
                cssImageRef: '../images/sprite.png'
            },
            spritesmithOptions: {
                algorithm: 'top-down'
            }
        })
    ],

同时配置modules

module: {
        loaders: [
            //解析.scss文件,对于用 import 或 require 引入的sass文件进行加载
            { test: /\.scss$/, loader: "style!css!sass" },
            //在小于8K的图片将直接以base64的形式内联在代码中,可以减少一次http请求。
            { test:/\.(png|jpg)$/, loader: "url-loader?limit=8192"}
        ]
    }

最后生成
1.内含 sprite.css的css文件夹
2.内含sprite.png的的image文件夹

源文件图片名

  • icon_qq.png
  • icon_douban.png
  • icon_renren.png
  • icon_weibo.png

其中sprite.css的文件样式

Example usage in HTML:

`display: block` sprite:
<div class="icon-home"></div>

To change `display` (e.g. `display: inline-block;`), we suggest using a common CSS class:

// CSS
.icon {
  display: inline-block;
}

// HTML
<i class="icon icon-home"></i>
*/
.icon-icon_douban {
  background-image: url(../images/sprite.png);
  background-position: 0px 0px;
  width: 54px;
  height: 54px;
}
.icon-icon_qq {
  background-image: url(../images/sprite.png);
  background-position: 0px -54px;
  width: 54px;
  height: 54px;
}
.icon-icon_renren {
  background-image: url(../images/sprite.png);
  background-position: 0px -108px;
  width: 54px;
  height: 54px;
}
.icon-icon_weibo {
  background-image: url(../images/sprite.png);
  background-position: 0px -162px;
  width: 54px;
  height: 54px;
}

相关文章

  • webpack css图像合图实现

    雪碧图也叫CSS精灵, 是一CSS图像合成技术,这里介绍webpack实现雪碧图 安装webpack-sprite...

  • webpack雪碧图

    安装 webpack-spritesmith 在webpack.config.js中配置 同时配置modules ...

  • 前端通用性能优化总结

    一.图片优化 1.使用雪碧图(webpack和gulp都有对应插件自动转换成雪碧图),减少请求。2.压缩图片质量(...

  • webpack生成雪碧图

    今天我们来研究一下如何用webpack生成雪碧图也就是sprite.sass,将许多小的,当然也可以是大的icon...

  • 网站性能优化

    1、资源压缩合并 (1)图片:雪碧图 (2)JS、CSS合并:利用项目构建工具webpack、grunt、gulp...

  • webpack中如何使用雪碧图

    一、什么是雪碧图? CSS雪碧 即CSS Sprite,也有人叫它CSS精灵,是一种CSS图像合并技术,该方法是将...

  • css-Sprite (雪碧图)

    雪碧图的使用场景: 不推荐使用雪碧图的地方: css Sprite(雪碧图)的实现原理: 雪碧图的实现方式: 作者...

  • 前端优化

    前端性能优化的方法有哪些? ①减少http请求,减少请求的体积,比如用雪碧图,gulp或者webpack压缩文件 ...

  • CSS 雪碧图

    Question: 1、什么是雪碧图?2、为什么使用雪碧图?3、什么情况下适合使用雪碧图?4、雪碧图怎么使用?5、...

  • 面试问题总结

    1.前端性能优化的方法有哪些? ①减少http请求,减少请求的体积,比如用雪碧图,gulp或者webpack压缩文...

网友评论

    本文标题:webpack雪碧图

    本文链接:https://www.haomeiwen.com/subject/qawfqxtx.html