美文网首页
字体图标、精灵图

字体图标、精灵图

作者: Arvin_zhea | 来源:发表于2019-08-05 14:09 被阅读0次

字体图标(iconfont)

图片是有诸多优点的,但是缺点很明显,比如图片不但增加了总文件的大小,还增加了很多额外的"http请求",这都会的大大降低网页的性能。更重要的是图片不能很好的进行“缩放”,因为图片放大和缩小会失真。 我们后面会学习移动端响应式,很多情况下希望我们的图标是可以缩放的。此时,一个非常重要的技术出现了,额不是出现了,是以前就有,是被从新"宠幸"啦。。 这就是字体图标(iconfont).

字体图标优点

可以做出跟图片一样可以做的事情,改变透明度旋转度,等..
但是本质其实是文字,可以很随意的改变颜色、产生阴影、透明效果等等...
本身体积更小,但携带的信息并没有削减。
几乎支持所有的浏览器
移动端设备必备良药...

字体图标使用流程

字体图标流程

1. 设计字体图标

假如图标是公司单独设计,那就需要第一步了,这个属于UI设计人员的工作, 他们在 illustrator 或 Sketch 这类矢量图形软件里创建 icon图标, 比如下图:

之后保存为svg格式,然后给前端人员就好了。
如果图标是大众的,可以直接跳过第一二步,进入第三步。

2. 上传生成字体包

当UI设计人员给我们svg文件的时候,我们需要转换成我们页面能使用的字体文件, 而且需要生成的是兼容性的适合各个浏览器的。

icomoon字库(推荐)http://icomoon.io

IcoMoon成立于2011年,推出的第一个自定义图标字体生成器,它允许用户选择他们所需要的图标,使它们成一字型。 内容种类繁多,非常全面,唯一的遗憾是国外服务器,打开网速较慢。

阿里icon font字库http://www.iconfont.cn/

这个是阿里妈妈M2UX的一个icon font字体图标字库,包含了淘宝图标库和阿里妈妈图标库。可以使用AI制作图标上传生成。 一个字,免费,免费!!

fontellohttp://fontello.com/

在线定制你自己的icon font字体图标字库,也可以直接从GitHub下载整个图标集,该项目也是开源的。

Font-Awesomehttp://fortawesome.github.io/Font-Awesome/

这是我最喜欢的字库之一了,更新比较快。目前已经有369个图标了。

Glyphicon Halflingshttp://glyphicons.com/

这个字体图标可以在Bootstrap下免费使用。自带了200多个图标。

Icons8https://icons8.com/

提供PNG免费下载,像素大能到500PX

3. 下载兼容字体包

上传完毕, 网站会给svg图片转换为字体格式, 然后下载下来就好了
当然,也可以直接到刚才的网站上找喜欢的字体图标下载使用。
以 icomoon 为例:

  • 进入网站 https://icomoon.io 点击右上角的 IcoMoon App 按钮,进入图标界面。
  • (上传UI设计的svg图标)把svg文件拖拽到 untitled Set 栏中
  • 单击选中需要的字体图标(也可以通过点击下面的lab,去库中寻找更多的字体图标),点击 Cenerate Font 即可跳转到字体图标到预览界面,可以通过点击下载旁边的设置按钮进行字体图标的名称浏览器支持等的设置,点击 DownLoad 自动下载字体图标的压缩包。

4. 字体引入到HTML

得到压缩包之后,最后一步,是最重要的一步了, 就是字体文件已经有了,我们需要引入到我们页面中。

  1. 首先把 以下4个文件放入到 fonts文件夹里面,把 fonts文件夹 复制到项目中。
  • 第一步:在样式里面声明字体: 告诉别人我们自己定义的字体(注意路径名字
@font-face {
  font-family: 'icomoon';
  src:  url('fonts/icomoon.eot?7kkyc2');
  src:  url('fonts/icomoon.eot?7kkyc2#iefix') format('embedded-opentype'),
    url('fonts/icomoon.ttf?7kkyc2') format('truetype'),
    url('fonts/icomoon.woff?7kkyc2') format('woff'),
    url('fonts/icomoon.svg?7kkyc2#icomoon') format('svg');
  font-weight: normal;
  font-style: normal;
}
  • 第二步:给盒子使用字体
span {
     font-family: "icomoon";
 }
  • 第三步:盒子里面添加结构
   span::before {
         content: "\e900";
    }

或者 (直接复制右侧的小手机)

   <span></span>  

5. 追加新图标到原来库里面

如果工作中,原来的字体图标不够用了,我们需要添加新的字体图标,但是原来的不能删除,继续使用,此时我们需要这样做

压缩包里面的selection.json重新上传 (import icons 按钮),然后选中自己想要新的图标,从新下载压缩包,替换原来文件即可。


精灵图

精灵技术产生的背景

当用户访问一个网站时,需要向服务器发送请求,网页上的每张图像都要经过一次请求才能展现给用户。

然而,一个网页中往往会应用很多小的背景图像作为修饰,当网页中的图像过多时,服务器就会频繁地接受和发送请求,这将大大降低页面的加载速度。为了有效地减少服务器接受和发送请求的次数,提高页面的加载速度,出现了CSS精灵技术(也称CSS Sprites、CSS雪碧)。

精灵技术本质

简单地说,CSS精灵是一种处理网页背景图像的方式。它将一个页面涉及到的所有零星背景图像都集中到一张大图中去,然后将大图应用于网页,这样,当用户访问该页面时,只需向服务发送一次请求,网页中的背景图像即可全部展示出来。通常情况下,这个由很多小的背景图像合成的大图被称为精灵图(雪碧图)。

京东网站中的一个精灵图

精灵技术的使用

CSS 精灵其实是将网页中的一些背景图像整合到一张大图中(精灵图),然而,各个网页元素通常只需要精灵图中不同位置的某个小图,要想精确定位到精灵图中的某个小图,就需要使用CSS的background-imagebackground-repeatbackground-position属性进行背景定位。

.mobile {
    width: 15px;
    height: 20px;
    background: url(images/jd.png) no-repeat  0 -100px;
}
  1. 设定小图片宽高
  2. 加载大图片,确定小图片位置

最关键的是使用background-position属性精确地定位。因为坐标方向的问题,background-position属性值都 <= 0

制作精灵图

CSS 精灵其实是将网页中的一些背景图像整合到一张大图中(精灵图),那我们要做的,就是把小图拼合成一张大图。

大部分情况下,精灵图都是网页美工做。

我们精灵图上放的都是小的装饰性质的背景图片。 插入图片不能往上放。
我们精灵图的宽度取决于最宽的那个背景。 
我们可以横向摆放也可以纵向摆放,但是每个图片之间,间隔至少隔开偶数像素合适。
在我们精灵图的最低端,留一片空隙,方便我们以后添加其他精灵图。

结束语: 小公司,背景图片很少的情况,没有必要使用精灵技术,维护成本太高。 如果是背景图片比较多,可以建议使用精灵技术。

相关文章

  • 字体图标、精灵图

    字体图标(iconfont) 图片是有诸多优点的,但是缺点很明显,比如图片不但增加了总文件的大小,还增加了很多额外...

  • [html]字体图标的使用

    说明 字体图标在web上是使用的比较广泛的,与精灵图相比,字体图标更易扩展和维护,具体使用效果如下(以天猫为例) ...

  • 前端开发中关于icon 使用的总结

    解决方案: 1. Css sprite 雪碧图,也称为css精灵图 2. Icon font 图标字体 3. Da...

  • 三十二、精灵图&字体图标

    一、精灵图 1.1 为什么需要精灵图 一个网页中往往会应用很多小的背景图像作为修饰,当网页中的图像过多时,服务器就...

  • 字体图标

    概念 为前端工程师提供一种方便高效的图标使用方式,展示的是图标,本质属于字体。 对比精灵图 图片文件比较大 图片本...

  • 阿里的字体库—iconfont

    阿里字体图标库介绍及图标字体的使用方法 这篇文章只讲阿里字体图标库的使用,暂不讲图标制作,阿里矢量图标库上的字体图...

  • 9、精灵图(重点)及字体图标

    1. 精灵图(重点) 1.1 为什么需要精灵图 一个网页中往往会应用很多小的背景图像作为修饰,当网页中的图像过多时...

  • 浅谈 CSS Sprites 雪碧图应用

    2.CSS Sprite(CSS 精灵), 也称作 雪碧图;如华为官网右侧提示栏: 图标字体是个比较大的技术讨论点...

  • CSS 扩展内容

    字体图标(解决精灵图的缺点) 1.轻量级2.灵活性3.兼容性(几乎支持所有的浏览器) 注意不能代替精灵技术,比如复...

  • 19-字体图标和编写网站基本步骤

    字体图标 单张图片缺点1.1会增加访问时请求次数1.2体积相对较大, 传输速度较慢1.3图片变大失真 精灵图:2....

网友评论

      本文标题:字体图标、精灵图

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