热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

雪碧图天生以及合营预处理款式的运用

天生雪碧图的代码本文的款式预处理运用的是stylus假如需要用到别的范例的预处理器,可对下面的代码举行修正假如想对雪碧图的天生道理及参数有更深切的相识请移步spritesmithg
天生雪碧图的代码

本文的款式预处理运用的是stylus 假如需要用到别的范例的预处理器,可对下面的代码举行修正
假如想对雪碧图的天生道理及参数有更深切的相识请移步

  • spritesmith
  • gulp.spritesmith

const spritesmith = require("gulp.spritesmith");
gulp.task("sprite", () => {
var spriteData = gulp.src("./src/styles/img/icons/*.png").pipe(
spritesmith({
// 天生雪碧图的位置以及称号
imgName: "img/sprite.png",
// 天生的雪碧图的款式位置
cssName: "__sprite.styl",
// 雪碧图中图片与图片的padding
padding: 5,
// 雪碧图中图片的分列体式格局
algorithm: "binary-tree",
// 这里是天生__sprite.styl的模板文件,需要针对不图的款式预处理器举行个人的修正
cssTemplate(data) {
var fuc = [];
var perSprite = [];
var shared = "sicon() { background-image: url(I); display: inline-block; vertical-align: middle; position: relative; top: -2px; background-size: Wpx Hpx; }"
.replace("I", data.spritesheet.image)
.replace("W", data.spritesheet.width)
.replace("H", data.spritesheet.height);
Array.prototype.forEach.call(data.sprites, function(sprite) {
fuc.push(
"sicon-N() { width: Wpx; height: Hpx; background-position: Xpx Ypx; }"
.replace(/N/g, sprite.name)
.replace("W", sprite.width)
.replace("H", sprite.height)
.replace("X", sprite.offset_x)
.replace("Y", sprite.offset_y)
);
perSprite.push(
"\t.sicon-N {\t\n\t\tsicon-N()\t\n\t}".replace(/N/g, sprite.name)
);
});
return (
shared + '\n' +
fuc.join("\n") +
"\nsprites(){\n\t" +
".sicon{\n\t\tsicon()\n\t}" +
"\n" +
perSprite.join("\n") +
"\n}"
);
}
})
);
return spriteData.pipe(gulp.dest("./src/styles"));
});

这段代码会在指定位置天生__sprite.styl的函数鸠合文件

天生的__sprite.styl花样以下(天生的花样取决于cssTemplate的内容):

sicon() {
background-image: url(img/sprite.png);
display: inline-block;
vertical-align: middle;
position: relative;
top: -2px;
background-size: 286px 256px;
}
sicon-checkbox-checked-focus() {
width: 17px;
height: 17px;
background-position: -22px -220px;
}
sprites(){
.sicon{
sicon()
}
.sicon-checkbox-checked-focus {
sicon-checkbox-checked-focus()
}
}
运用

全局运用

能够在入口处挪用sprites()函数,天生全局款式

部分运用

挪用对应图片的函数以及公用函数即可
以下:


.xxx{
sicon()
sicon-checkbox-checked-focus()
}
末了

愿望对人人有效,日常平凡不太爱写文章。能写上来的都是比较有用的东西


推荐阅读
  • 深入解析Unity3D游戏开发中的音频播放技术
    在游戏开发中,音频播放是提升玩家沉浸感的关键因素之一。本文将探讨如何在Unity3D中高效地管理和播放不同类型的游戏音频,包括背景音乐和效果音效,并介绍实现这些功能的具体步骤。 ... [详细]
  • Python3爬虫入门:pyspider的基本使用[python爬虫入门]
    Python学习网有大量免费的Python入门教程,欢迎大家来学习。本文主要通过爬取去哪儿网的旅游攻略来给大家介绍pyspid ... [详细]
  • Vue CLI 基础入门指南
    本文详细介绍了 Vue CLI 的基础使用方法,包括环境搭建、项目创建、常见配置及路由管理等内容,适合初学者快速掌握 Vue 开发环境。 ... [详细]
  • 本文探讨了如何利用RxJS库在AngularJS应用中实现对用户单击和拖动操作的精确区分,特别是在调整区域大小的场景下。 ... [详细]
  • 为何Compose与Swarm之后仍有Kubernetes的诞生?
    探讨在已有Compose和Swarm的情况下,Kubernetes是如何以其独特的设计理念和技术优势脱颖而出,成为容器编排领域的领航者。 ... [详细]
  • 本文介绍了如何利用jQuery实现对网页上多个div元素的显示与隐藏控制,包括基本的toggle方法及更复杂的显示隐藏逻辑。 ... [详细]
  • 本文介绍了.hbs文件作为Ember.js项目中的视图层,类似于HTML文件的功能,并详细讲解了如何在Ember.js应用中集成Bootstrap框架及其相关组件的方法。 ... [详细]
  • 本文探讨了如何通过优化 DOM 操作来提升 JavaScript 的性能,包括使用 `createElement` 函数、动画元素、理解重绘事件及处理鼠标滚动事件等关键主题。 ... [详细]
  • 本文将深入探讨 Unreal Engine 4 (UE4) 中的距离场技术,包括其原理、实现细节以及在渲染中的应用。距离场技术在现代游戏引擎中用于提高光照和阴影的效果,尤其是在处理复杂几何形状时。文章将结合具体代码示例,帮助读者更好地理解和应用这一技术。 ... [详细]
  • 题目编号:2049 [SDOI2008]Cave Exploration。题目描述了一种动态图操作场景,涉及三种基本操作:断开两个节点间的连接(destroy(a,b))、建立两个节点间的连接(connect(a,b))以及查询两节点是否连通(query(a,b))。所有操作均确保图中无环存在。 ... [详细]
  • Windows环境下Python和pip命令无法识别的解决方案
    本文详细介绍了在Windows操作系统中遇到Python和pip命令无法识别的问题时的解决方法,帮助初学者快速配置Python开发环境。 ... [详细]
  • 深入解析Python进程间通信:Queue与Pipe的应用
    本文详细探讨了Python中进程间通信的两种常用方法——Queue和Pipe,并通过具体示例介绍了它们的基本概念、使用方法及注意事项。 ... [详细]
  • 本文详细介绍了在 CentOS 7 系统中安装 Python 3.7 的步骤,包括编译工具的安装、Python 3.7 源码的下载与编译、软链接的创建以及常见错误的处理方法。 ... [详细]
  • android开发分享荐                                                         Android思维导图布局:效果展示及使用方法
    思维导图布局的前身是树形布局,对树形布局基本使用还不太了解的朋友可以先看看我写的树形布局系列教程,了解了树形布局的使用方法后再来阅读本文章。先睹为快来看看效果吧,横向效果如下:纵向 ... [详细]
  • 本文通过一个简单的示例,展示如何使用ASP技术生成HTML文件。示例包括两个页面:首页index.htm和处理页面send.asp。 ... [详细]
author-avatar
无与伦比的美丽MJ
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有