所谓字体图标,顾名思义就是图标以字体的形式存在,可以利用 font-size、color 对字体图标的大小和颜色进行渲染。将小图标集中放到字体库里,利用css3 @font-face 引用图标,不仅有利用图标的集中化管理,也有利于搜索引擎的优化。

图标建议使用 iconfont.cn(阿里巴巴矢量图标库),该网站的一些功能给前端工作提供了很多方便。在该网站的代码应用页面讲解了图标在web端的使用,里面涉及到三种引用方式,这篇文章将着重讲解第二种方式——font-class引用。

一、font-class特点

在 iconfont.cn 里是这样介绍font-class的特点的:

  • 兼容性良好,支持ie8+,及所有现代浏览器。
  • 相比于unicode语意明确,书写更直观。可以很容易分辨这个icon是什么。
  • 因为使用class来定义图标,所以当要替换图标时,只需要修改class里面的unicode引用。
  • 不过因为本质上还是使用的字体,所以多色图标还是不支持的。

二、font-class使用

1、登录 iconfont.cn ,方便管理项目。

2、搜索图标名,如“首页”,选择一个图标,点击“添加入库”。如图:

3、点击右上角购物车图标,进入已选图库。如图:

4、选择“添加至项目”,如果没有项目就先添加一个项目,然后选择一个项目,点击“确定”。如图:

5、确定之后进入我的项目页面,可以看到引用方式默认是Font class, 点击“下载至本地”,将压缩包下载到本地。

6、下载后的文件目录如图:

对于我们目前来说,有用的文件只有:

编辑器打开iconfont.css文件:

解释一下这个文件内容:

(1)@font-face 引用四种格式的字体图标文件,目的是为了兼容不同浏览器;

(2).iconfont 所有图标的公共样式;

(3).icon-shouye “首页”图标的引用类名;

再来看一下html文件是怎么引用图标的:

一目了然,红色框里的就是引用首页这个图标的方法。so,引用图标时,都要有.iconfont这个公共样式类名,再有就是这个图标的引用类名。

浏览器运行html文件,“首页”图标就渲染到了页面上。通过样式更改color、font-size,图标的颜色、大小就会发生变化。如图:

三、编辑图标

鼠标移入图标上,显示4个图标按钮,分别是 添加入库、编辑图标、删除图标、下载图标,点击 编辑图标,进入图标详情弹框:

讲解:(1)调整图标大小

   (2)编辑图标名称

     (3)编辑图标字符编码(有默认编码)

四、添加图标

往项目里添加新图标的方法和上面说的步骤一样,有几点需要说明一下。

1、将压缩包下载到本地后,只需要把其中的 iconfont.css、.eot、.svg、.ttf、.woff五个文件替换掉之前的文件即可。

2、iconfont.css的内容也可以通过输入链接查看:

点击红字获取新链接,浏览器打开链接,复制新图标代码,再粘贴到iconfont.css文件里到即可。如图:

五、小结

1、编辑图标,调整图标大小至容器的边框,这样是为了当图标字体大小一样时,显示在页面上的图标大小一样。(之前项目的经验:两个图标font-size值一样,显示在页面上却不一样大小,后来调整了图标的大小才解决了问题)

2、当图标很多时,为了方便查找图标代码,可以将图标代码按字母表排列。如图:

欢迎留言~

@font-face 字体图标的应用的更多相关文章

  1. Font Awesome字体图标

    1.什么是字体图标字体图标是一个包含许多图标的字体库.可以理解为一种特殊的字体,只不过里面包含的都是图标. 2.Font Awesome图标字体库Font Awesome是目前最受欢迎最全面的图标字体 ...

  2. Awesome图标 | 如何在某些编辑软件中使用Font Awesome字体图标

    文章目录 Font Awesome 字体图标 在某些编辑软件中使用 Font Awesome 字体图标 Font Awesome 为您提供可缩放矢量图标,它可以被定制大小.颜色.阴影以及任何可以用 C ...

  3. (22)bootstrap 初识 + Font Awesome(字体图标库)

    bootstrap作用就是简化布局 bootstrap是基于JQ的,所以内部代码使用的是jq语法 所以要使用bs,必须先倒入 1.head标签内倒入bs的css文件  <link rel=&qu ...

  4. 在nuxt中引入Font Awesome字体图标库

    介绍 在element-ui框架中提供了一些图标样式,但是种类比较少,所以在这里提供一套更完善的字体图标库Font Awesome(官方文档),下面就开始介绍如何在一个nuxt项目中使用这套字体库. ...

  5. CSS3使用Font Awesome字体图标的控件样例(按钮,工具栏,输入框)

    按钮上加入font awesome图标,用原生的input button标签无法实现,查看网上的只能通过<a><li></li></a>实现此功能,通过 ...

  6. CSS伪元素:before/CSS伪元素:before/:after content 显示Font Awesome字体图标:after content 显示Font Awesome字体图标

    HTML <a href="javascript:volid(0);"><i class="icon-table"></i> ...

  7. Font Awesome字体图标的 用法, 很简单

    http://fontawesome.dashgame.com/ 上面是 官网,  可下载,也可以CDN. 1...  加载 2...  用法

  8. 通过字体代替图片优化,如何使用Font Awesome字体图标?

    博客搬迁,给你带来的不便敬请谅解! http://www.suanliutudousi.com/2017/10/17/%E9%80%9A%E8%BF%87%E5%AD%97%E4%BD%93%E4%B ...

  9. iconfont字体图标的使用方法--超简单!

    我之前因为项目用bootstrap比较多,所以使用font awesome字体图标比较多,后来接触到了iconfont,发现想要的什么图标都有,还可以自定义图标,非常强大!之前看了一波教程,觉得繁琐, ...

  10. iconfont阿里字体图标的使用方法

    我们在做web项目的时候,之前比较常用的是bootstrap,所以使用font awesome字体图标比较多,无意中在一个项目中接触到了iconfont,发现想要的什么图标都有,还可以自定义图标,非常 ...

随机推荐

  1. Spring @Scheduled定时任务动态修改cron参数

    在定时任务类上增加@EnableScheduling注解,并实现SchedulingConfigurer接口.(注意低版本无效) 设置一个静态变量cron,用于存放任务执行周期参数. 另辟一线程,用于 ...

  2. itchat+pillow实现微信好友头像爬取和拼接

    源码下载链接:https://pan.baidu.com/s/1cPZhwy 密码:2t2o ###效果图 使用方法: 下载项目到本地,打开项目主目录,打开命令行,输入: pip install -r ...

  3. Java - Calendar类的使用

    今天在写代码时需要用到时间相关的类,一开始,数据库中存的数据类型是timestamp的,所以在Java中就使用了 Timestamp类型,但当调用Timestamp类型的方法时发现,它的很多方法都是d ...

  4. Selenium 执行JavaScript

    Selenium 可以直接模拟运行 JavaScript,使用 execute_script() 方法即可实现 from selenium import webdriver browser = web ...

  5. html主要笔记

    1.用title属性作为工具提示 2.链接到锚点 <a href="http://wickedlysmart.com/buzz#Coffee"> 3.<em> ...

  6. AngularJs HTML DOM、AngularJS 事件以及模块的学习(5)

    今天的基础就到了操作DOM,事件和模块的学习,其实我个人感觉学习起来AngularJS并没有想象中的那么的艰难,可能是因为这个太基础化吧,但是我们从初学开始就应该更加的自信一些,后来我可能会写一个小的 ...

  7. Masonry — 使用纯代码进行iOS应用的autolayout自适应布局

    本文转载至   http://www.ios122.com/2015/09/masonry/ 简化iOS应用使用纯代码机型自适应布局的工作,使用一种简洁高效的语法替代NSLayoutConstrain ...

  8. sklearn 中的 Pipeline 机制 和FeatureUnion

    一.pipeline的用法 pipeline可以用于把多个estimators级联成一个estimator,这么 做的原因是考虑了数据处理过程中一系列前后相继的固定流程,比如feature selec ...

  9. C数组&结构体&联合体快速初始化

    背景 C89标准规定初始化语句的元素以固定顺序出现,该顺序即待初始化数组或结构体元素的定义顺序. C99标准新增指定初始化(Designated Initializer),即可按照任意顺序对数组某些元 ...

  10. 【EF框架异常】System.MissingMethodException:“找不到方法:“System.Data.Entity.ModelConfiguration.Configuration.PrimitivePropertyConfiguration

    最近调试EF的时候遇到下面这个问题 System.MissingMethodException:“找不到方法:“System.Data.Entity.ModelConfiguration.Config ...