热门标签 | 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()
}
末了

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


推荐阅读
  • 我在尝试将组合框转换为具有自动完成功能时遇到了一个问题,即页面上的列表框也被转换成了自动完成下拉框,而不是保持原有的多选列表框形式。 ... [详细]
  • 深入解析Android自定义View面试题
    本文探讨了Android Launcher开发中自定义View的重要性,并通过一道经典的面试题,帮助开发者更好地理解自定义View的实现细节。文章不仅涵盖了基础知识,还提供了实际操作建议。 ... [详细]
  • 优化ListView性能
    本文深入探讨了如何通过多种技术手段优化ListView的性能,包括视图复用、ViewHolder模式、分批加载数据、图片优化及内存管理等。这些方法能够显著提升应用的响应速度和用户体验。 ... [详细]
  • 深入理解 Oracle 存储函数:计算员工年收入
    本文介绍如何使用 Oracle 存储函数查询特定员工的年收入。我们将详细解释存储函数的创建过程,并提供完整的代码示例。 ... [详细]
  • 本文将介绍如何编写一些有趣的VBScript脚本,这些脚本可以在朋友之间进行无害的恶作剧。通过简单的代码示例,帮助您了解VBScript的基本语法和功能。 ... [详细]
  • 本文详细介绍如何使用Python进行配置文件的读写操作,涵盖常见的配置文件格式(如INI、JSON、TOML和YAML),并提供具体的代码示例。 ... [详细]
  • 本文详细介绍了如何解决Uploadify插件在Internet Explorer(IE)9和10版本中遇到的点击失效及JQuery运行时错误问题。通过修改相关JavaScript代码,确保上传功能在不同浏览器环境中的一致性和稳定性。 ... [详细]
  • 导航栏样式练习:项目实例解析
    本文详细介绍了如何创建一个具有动态效果的导航栏,包括HTML、CSS和JavaScript代码的实现,并附有详细的说明和效果图。 ... [详细]
  • 本文详细介绍了 Dockerfile 的编写方法及其在网络配置中的应用,涵盖基础指令、镜像构建与发布流程,并深入探讨了 Docker 的默认网络、容器互联及自定义网络的实现。 ... [详细]
  • 本文介绍了一款用于自动化部署 Linux 服务的 Bash 脚本。该脚本不仅涵盖了基本的文件复制和目录创建,还处理了系统服务的配置和启动,确保在多种 Linux 发行版上都能顺利运行。 ... [详细]
  • 使用 Azure Service Principal 和 Microsoft Graph API 获取 AAD 用户列表
    本文介绍了一段通用代码示例,该代码不仅能够操作 Azure Active Directory (AAD),还可以通过 Azure Service Principal 的授权访问和管理 Azure 订阅资源。Azure 的架构可以分为两个层级:AAD 和 Subscription。 ... [详细]
  • 前言--页数多了以后需要指定到某一页(只做了功能,样式没有细调)html ... [详细]
  • 在Linux系统中配置并启动ActiveMQ
    本文详细介绍了如何在Linux环境中安装和配置ActiveMQ,包括端口开放及防火墙设置。通过本文,您可以掌握完整的ActiveMQ部署流程,确保其在网络环境中正常运行。 ... [详细]
  • 在创建带有左侧图标的按钮时,遇到了文本与图标对齐的问题。本文提供了几种使用Bootstrap 4解决此问题的方法。 ... [详细]
  • C/C++ 应用程序的安装与卸载解决方案
    本文介绍了如何使用Inno Setup来创建C/C++应用程序的安装程序,包括自动检测并安装所需的运行库,确保应用能够顺利安装和卸载。 ... [详细]
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社区 版权所有