美文网首页
gulp.spritesmith修改px为rem单位

gulp.spritesmith修改px为rem单位

作者: xiongxiong_hxy | 来源:发表于2017-04-08 18:06 被阅读0次

移动端开发中,使用gulp.spritesmith进行小图sprite并生成样式,但由于spritesmith默认是以px为单位,所以就把插件的内容修改了下让生成rem单位并且能把background-size设置为雪碧图的宽高。

1.首先修改gulp.spritesmith\node_modules\spritesheet-templates\lib\spritesheet-templates.js

图1

修改的地方是px[key] = item[key]/2/10 + 'rem';这句,按照你转换rem的方式转换得到rem值。

2.修改gulp.spritesmith\node_modules\spritesheet-templates\lib\templates\scss.template.handlebars   如果你的预编译语言不是scss,那么修改对应你的预编译语言的模版文件

需要修改的是在模板页中加入生成background-size内容

图2

我这边修改的是新加了个sprite-size混合宏,将背景图片的大小转换为rem,然后在混合宏sprite里面添加自己新建的混合宏。

以上两点修改完成就可以把spritesmith生成的px转换成rem,增加background-size主要是因为px单位下图片背景位置跟大小默认就是雪碧图中的大小,所以转换成rem后需要进行修改。

PS:rem单位下在不同设备中可能出现图片中出现了雪碧图中其他图的边边角角,所以这里需要设置图片合成的时候彼此之间有一定的间隙,这个只要是gulpfile中设置下padding:10即可。

相关文章

  • gulp.spritesmith修改px为rem单位

    移动端开发中,使用gulp.spritesmith进行小图sprite并生成样式,但由于spritesmith默认...

  • vue3移动端自适应配置

    注意:项目中使用rem为单位 安装postcss-px2rem 配置postcss-px2rem //vue.co...

  • vue px2rem

    vue ,使用rem单位,可在不同屏幕上完美显示相同的布局。px2rem 插件方便的将px单位转为了rem。 px...

  • css3 rem的理解

    对应rem的单位是这么理解就特别简单。html的font-size为a px。1rem = a px;现在有张32...

  • 常见单位梳理

    单位(px/em/rem、vw/vh/vmin/vmax) px px像素(Pixel)。相对长度单位。像素px是...

  • rem,px,em单位区别

    rem,px,em单位区别

  • rem实现移动设备响应式布局

    rem单位基于 html 元素的字体大小。即如果当前HTML的font-size为16px,那么1rem=16px...

  • web页面中字体单位

    px em rem percent 1、PX单位即像素为单位,它是web发展初期人们推崇并认可的,因为它非常的精准...

  • rem em 与px的区别

    px rem rm PX特点 iE无法调整那些使用px作为单位的字体大小; px像素(Pixel)。相对长度单位。...

  • css单位px、rem、vw

    css单位 px 、rem 、vw 都是相对单位 rem rem 的计算是相对于 html 页面的 font-si...

网友评论

      本文标题:gulp.spritesmith修改px为rem单位

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