自制按钮图标的两种方法: image sprite和svg字体文件
用image sprite和svg字体文件这两种方法,都能够极大地减少小图形文件的数量, 从而减少服务器请求和带宽需求。提高网页的响应速度。
一、建立SVG字体文件
iconmoon 是一个在线工具,可以上传自己的SVG格式的图标文件,也可以从其中选择已有的图标, 定制出自己的字体文件。下载的结果包括了字体文件和一个简单的demo.html,
(https://icomoon.io/app/#/select),
(类似工具: https://glyphter.com)
二、用 image sprite
spritegen是一个在线工具,只要上传自己的image格式的图标文件, 就能够生成sprite文件和对应的css样式
http://css.spritegen.com/
三、自己动手写:
假设小图标已经手工合并到一个大图imageSprite.png中,其中每一个小图标占W*H的大小,W= 100,H=50,那么,css内容如下:(其中的class 名称可以自取)
.icon-demo-base {
background: url('imageSprite.png') no-repeat;
display: inline-block;
height: 50px; /* 每一个icon的 height和width */
width: 100px;
}
.icon0-0 {
background-position: 0 0; /* sprite图的左上角是(0,0)点, */
}
.icon1-0 {
background-position: -100px 0;
}
.icon2-0 {
background-position: -200px 0;
}
.icon3-0 {
background-position: -300px 0;
}
More:
* 在PS中可以把图像输出为SVG(File > Extract Assets”, 要求Photoshop CC版本高于October 2014 Update, http://creativedroplets.com/generate-svg-with-photoshop-cc-beta/)
* image转SVG的在线工具: https://image.online-convert.com/convert-to-svg
* 如何设置SVG图的原点和基本大小
https://www.sitepoint.com/create-an-icon-font-illustrator-icomoon/
* https://www.sitepoint.com/build-svg-icons/
<img src="Chess_Pieces_Sprite.svg#black-horse">
* gulp-svg-spritesheet
gulp.spritesmith (用canvas,依赖于: Cairo and node-gyp)
* http://fontastic.me/howto
http://fontello.com/: 字体有收费的
自制按钮图标的两种方法: image sprite和svg字体文件的更多相关文章
- PyQt(Python+Qt)学习随笔:model/view架构中支持QListView列表中展示图标的两种方法
老猿Python博文目录 专栏:使用PyQt开发图形界面Python应用 老猿Python博客地址 在QListView列表视图中的项不但可以展示文字,也可以展示图标和复选框,同时可以指定项是否可以拖 ...
- Delphi Windows API判断文件共享锁定状态(OpenFile和CreateFile两种方法)
一.概述 锁是操作系统为实现数据共享而提供的一种安全机制,它使得不同的应用程序,不同的计算机之间可以安全有效地共享和交换数据.要保证安全有效地操作共享数据,必须在相应的操作前判断锁的类型,然后才能确定 ...
- css:图标与文字对齐的两种方法
(好久没写博客了,这几个月的积累比较零碎,记在本子上,现在开始整理归类) 在平时写页面的过程中,常遇到要把小图标与文字对齐的情况.比如: 总结了两种方法,代码量都比较少. 第一种 对img设置竖直方向 ...
- 在Activity中响应ListView内部按钮的点击事件的两种方法!!!
在Activity中响应ListView内部按钮的点击事件的两种方法 转载:http://www.cnblogs.com/ivan-xu/p/4124967.html 最近交流群里面有人问到一个问题: ...
- CSS图标与文字对齐的两种方法
在平时写页面的过程中,常遇到要把小图标与文字对齐的情况.比如: 总结了两种方法,代码量都比较少. 第一种 对img设置竖直方向对齐为middle, <div> <img src=&q ...
- 怎么在CAD中测量图纸距离?来看看这两种方法
在CAD中设计图纸最重要的就是图纸的尺寸,俗话说也就是图纸间的距离.通过正确的数据设计出的图纸才能够准确,也能够避免施工时事不必要的误差.那怎么在CAD中测量图纸距离呢?具体要怎么来进行操作呢?下面我 ...
- Android中Intent传递对象的两种方法(Serializable,Parcelable)
今天要给大家讲一下Android中 Intent中如何传递对象,就我目前所知道的有两种方法,一种是Bundle.putSerializable(Key,Object);另一种是 Bundle.putP ...
- Qt 之 设置窗口边框的圆角(使用QSS和PaintEvent两种方法)
Qt在设置窗口边框圆角时有两种方式,一种是设置样式,另一种是在paintEvent事件中绘制窗口.下面分别叙述用这两种方式来实现窗口边框圆角的效果. 一.使用setStyleSheet方法 this- ...
- Loadrunner 接口测试的两种方法
其实无论用那种测试方法,接口测试的原理是通过测试程序模拟客户端向服务器发送请求报文,服务器接收请求报文后对相应的报文做出处理然后再把应答报文发送给客户端,客户端接收应答报文这一个过程. 方法一.用Lo ...
随机推荐
- python3 sys.path
wadmin@ansible-test:~/python$ python3Python 3.6.7rc1 (default, Sep 27 2018, 09:51:25) [GCC 8.2.0] on ...
- Visual C++ 6.0中互换两个数字
就好比如两杯水,需要三个杯子将这两杯水互换.互换数字就要用一个中间变量. # include <stdio.h> int main(void) { int i; int j; int k; ...
- Redis的使用原理
原理介绍 (1)什么是redis? Redis 是一个基于内存的高性能key-value数据库. (有空再补充,有理解错误或不足欢迎指正) (2)Reids的特点 Redis本质上是一个Key-Val ...
- centos tree 命令
ftp://mama.indstate.edu/linux/tree/ download & make
- js入门关于函数
一,函数·关键字(function)复习var·js关键字.用于声明变量.生命在内存模块完成,定义(=)在执行模块完成.var(可以在内存模块提前完成,所以有变量提升的功能.function也是js的 ...
- 使用s3fs-fuse 挂载minio s3 对象存储
minio 是一个aws s3 兼容的对象存储系统,我们可以通过s3fs 进行数据桶的挂载,这样可以做好多方便的事情 环境准备 使用docker-compose 运行 minio docker-com ...
- Maven 新手入门+命令大全
Maven 是一个项目管理工具,可以对 Java 项目进行构建.依赖管理. Maven 官方文档(English): http://maven.apache.org/index.html Maven ...
- DevExpress中GridControl的使用笔记(转)
转自:https://www.jianshu.com/p/badc1d2f0841 注:练习例子为: DxApplication1 -> XtraForm1 , 例子上传到本博中 2019.4. ...
- source-insight 常用操作
[Ctrl + ] 跳转到函数.宏.变量 等定义处. [Alt > ] 跳转到最近光标停留位置. [Alt < ] 跳转到上次近光标停留位置. [Ctrl Shift [ ] 块位置开 ...
- VS调试快捷键配置更改
VS进行调试时,默认情况下需按下Fn+F5等组合按键,手短的用起来很不便利 如何去掉组合键只按下F5? 解决:即按下Fn+Esc,然后就可以直接按下F1-F12使用VS的快捷键,如果想回到组合键也是同 ...