• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com专业计算机教程网站
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • html/xhtml
  • html5
  • CSS
  • XML/XSLT
  • Dreamweaver教程
  • Frontpage教程
  • 心得技巧
  • bootstrap
  • vue
  • AngularJS
  • HBuilder教程
  • css3
  • 浏览器兼容
  • div/css
  • 网页编辑器
  • axure
您的位置:首页 > 网页设计 >CSS > css-sprite使用详解

css-sprite使用详解

作者:RayLiao 字体:[增加 减小] 来源:互联网 时间:2017-08-06

本文主要包含css-sprite,图片合成等相关知识,RayLiao 希望在学习及工作中可以帮助到您

可能是最好用的雪碧图工具了,好吧,至少是我用过最好用的。

首先安装css-sprite,安装这里很坑,等我最后再说。


我是使用gulp来构建前端代码,所以还需要安装gulp和gulp-if,安装好之后就可以开始配置啦。
新建一个task:

  1. var gulp = require('gulp');   
  2. var gulpif = require('gulp-if');   
  3.   
  4. gulp.task('sprites',function(){   
  5.     gulp.src('img/icon/*.png')                  //这是要合并的图片的路径   
  6.         .pipe(sprite({   
  7.             name: 'icon',                       //定义一个名称   
  8.             style: '_icon.scss',                //这是生成的样式文件   
  9.             format: 'png',                      //png格式的图片   
  10.             orientation: 'left-right',          //雪碧图合并的方向,也可以设置成垂直或水平   
  11.             cssPath: '#{$icon-sprite-path}',    //雪碧图的路径变量   
  12.             template: './sprite-tpl.mustache',  //scss生成的模板   
  13.             processor: 'scss'                   //生成的样式文件的格式   
  14.         }))   
  15.         .pipe(gulpif('*.png', gulp.dest('img/'), gulp.dest('css/')));   
  16. });  

scss的模板使用mustache:

  1. {{#items}}   
  2.     ${{name}}: {{px.offset_x}} {{px.offset_y}} {{px.width}} {{px.height}};   
  3. {{/items}}   
  4.   
  5. @mixin sprite-width($sprite) {   
  6. width: nth($sprite, 3);   
  7. }   
  8.   
  9. @mixin sprite-height($sprite) {   
  10. height: nth($sprite, 4);   
  11. }   
  12.   
  13. @mixin sprite-position($sprite) {   
  14. $sprite-offset-x: nth($sprite, 1);   
  15. $sprite-offset-y: nth($sprite, 2);   
  16. background-position: $sprite-offset-x  $sprite-offset-y;   
  17. }   
  18.   
  19. @mixin sprite($sprite) {   
  20. @include sprite-position($sprite);   
  21.   
  22. @include sprite-width($sprite);   
  23. @include sprite-height($sprite);   
  24.   
  25. }   
  26.   
  27. {{#sprite}}   
  28.     {{class}} {   
  29.     background-repeat: no-repeat;   
  30.     overflow: hidden;   
  31.     border: none;   
  32.     background: url('{{{escaped_image}}}?v=#{$version}');   
  33.     @include inline-block();   
  34.     vertical-align

您可能想查找下面的文章:

  • css-sprite使用详解

相关文章

  • 2017-08-06css在不同浏览器中的唯一标识以height属性为例
  • 2017-08-06div+css设置div的背景为半透明的方法
  • 2017-08-06全面了解行内元素与块级元素的区别
  • 2017-08-06css3的transition属性详解
  • 2017-08-06css cursor 的可选值(鼠标的各种样式)
  • 2017-08-06用CSS3打造HTML5的Logo(实现代码)
  • 2017-08-06不使用class和id进行网页布局的方法
  • 2017-08-06推荐一些比较有用的css3新属性
  • 2017-08-06ie6和ie7中的链接图片点不中问题讨论
  • 2017-08-06CSS Border属性solid(实线)使用介绍

文章分类

  • html/xhtml
  • html5
  • CSS
  • XML/XSLT
  • Dreamweaver教程
  • Frontpage教程
  • 心得技巧
  • bootstrap
  • vue
  • AngularJS
  • HBuilder教程
  • css3
  • 浏览器兼容
  • div/css
  • 网页编辑器
  • axure

最近更新的内容

    • 使用CSS绘制星级评分效果的方法
    • CSS的background属性及CSS3的背景图片设置总结
    • CSS3 倾斜的网页图片库实例教程
    • zTree v3.5 Css分解与dom结构说明
    • 让div+css兼容所有浏览器的一些注意事项
    • CSS文本如何折行介绍
    • 使用Table,DIV,XHTML三者制作网页的区别.
    • 关于clearBoth在GOOGLE Chrome中的问题解决方法
    • 详解CSS3中@media的实际使用
    • 浏览器端如何使用Less

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有