之前发表过一篇关于iconfont图标字体的相关教程,以文字的方式,实现网页中的图标和特殊字符。教程链接可参考:http://bbs.520it.com/forum.php?mod=viewthread&tid=1950

前段时间去iconfont官网逛逛,发现iconfont已经升级iconfont+了,对比起之前的iconfont,iconfont+最大的特点是什么呢?iconfont+开始支持彩色图标了,对于此项新的改进,官网是如此介绍的:

symbol引用:

这是一种全新的使用方式,应该说这才是未来的主流,也是平台目前推荐的用法。相关介绍可以参考这篇文章 这种用法其实是做了一个svg的集合,与另外两种相比具有如下特点:

支持多色图标了,不再受单色限制。

通过一些技巧,支持像字体那样,通过font-size,color来调整样式。

兼容性较差,支持 ie9+,及现代浏览器。

浏览器渲染svg的性能一般,还不如png。

这种全新的使用方式,据官网介绍说是做了一个svg的集合,SVG(Scalable Vector Graphics)可缩放矢量图形,SVG具有什么特点呢?

SVG特点:

1.任意放缩。(用户可以任意缩放图像显示,而不会破坏图像的清晰度、细节等。)

2.文本独立。(SVG图像中的文字独立于图像,文字保留可编辑和可搜寻的状态。也不会再有字体的限制,用户系统即使没有安装某一字体,也会看到和他们制作时完全相同的画面。)

3.较小文件。(总体来讲,SVG文件比那些GIF和JPEG格式的文件要小很多,因而下载也很快。)

4.超强显示效果。(SVG图像在屏幕上总是边缘清晰,它的清晰度适合任何屏幕分辨率和打印分辨率。)

5.超级颜色控制。(SVG图像提供一个1 600万种颜色的调色板,支持ICC颜色描述文件标准、RGB、线X填充、渐变和蒙版。)

由于svg的格式优点是基于xml可扩展标记语言,是一个XML文件,而且SVG是被设计用于互联网,所以通过Javascript和DOM访问它就是最重要的应用模式。通过Javascript和DOM可以动态地修改HTML,同样也可以在浏览器中动态地创建、修改和删除图片。

因此在网页中使用svg与其他图像格式相比(比如 JPEG 和 GIF)的优势在于:

SVG 图像可通过文本编辑器来创建和修改

SVG 图像可被搜索、索引、脚本化或压缩

SVG 是可伸缩的

SVG 图像可在任何的分辨率下被高质量地打印

SVG 可在图像质量不下降的情况下被放大

而浏览器的支持情况,iconfont官网也有说明:

Internet Explorer 9、Firefox、Opera、Chrome 以及 Safari 支持内联 SVG。Internet Explorer 8或更早版本,可通过安装Adobe SVG Viewer以支持SVG。

iconfont官网描述浏览器渲染svg的性能一般,还不如png,实测了一下做了几个彩色小icon,现代浏览器对svg渲染其实也相当不错了。而且iconfont平台也是推荐这种全新的使用方式,现在互联网技术迅猛发展,相信不久的将来这种使用方式会是未来的主流。

介绍了那么多,那么来做个小案例体验一下。

首先还是到iconfont官网,这次找几个彩色的图标:

1478744887612514.png

网页导航栏多色图标库,点进去会发现很多多色图标库的集合:

1478745068101688.png

找到对应的图标保存到项目后,去图标管理—我的项目里面,找到新添加的项目并下载到本地,下载下来解压后我们可以看到这些文件:

1478745117687690.png

iconfont+除了全新的使用方式,传统的使用方式也进行了一些优化,详细可以参考demo文件:

首先第一个demo文件打开是font-class引用

font-class是unicode使用方式的一种变种,主要是解决unicode书写不直观,语意不明确的问题。

与unicode使用方式相比,具有如下特点:

兼容性良好,支持ie8+,及所有现代浏览器。

相比于unicode语意明确,书写更直观。可以很容易分辨这个icon是什么。

因为使用class来定义图标,所以当要替换图标时,只需要修改class里面的unicode引用。

不过因为本质上还是使用的字体,所以多色图标还是不支持的。

使用步骤如下:

(注意:为了浏览器更好的渲染,如果只使用单色图标,建议不要选择下载多色图标替代)

1478745329981511.png

第一步:引入项目下面生成的fontclass代码:

(这种方式是需要引入iconfont.css文件,同时还需要注意字体文件的摆放路径)

第二步:挑选相应图标并获取类名,应用于页面:

实际情况中"iconfont"(font-family)需要修改为你项目下的font-family。可以通过编辑项目查看,默认是"iconfont"。

iconfont.css源码其实也是通过@font-face规则声明字体,并引用字体文件,而字体编码则是通过伪元素的方法添加进html标签里面的,所以对于浏览器支持情况需要ie8+(下图为添加字体编码css样式)

1478745369133807.png

这种使用方式需要注意的地方也都提过了,有兴趣的可以去亲自体验一下。

现在来看一下全新的使用方式,symbol引用,其实这种方式使用起来也非常简单。打开demo_symbol.html文件可以看到详细的使用方法:

iconfont图标分别对应不同的类名:

1478745448110204.png

symbol引用:

使用步骤如下:

第一步:引入项目下面生成的symbol代码:

(首先需要引入iconfont.js文件,此js文件相当于是svg图形集合文件的调用)

第二步:加入通用css代码(引入一次就行)

.icon {

width: 1em; height: 1em;

vertical-align: -0.15em;

fill: currentColor;

overflow: hidden;

}

第三步:挑选相应图标并获取类名,应用于页面:

实际情况中"iconfont"(font-family)需要修改为你项目下的font-family。可以通过编辑项目查看,默认是"iconfont"。

使用多色图标引用效果:

1478745489786147.png

可以看到浏览器渲染还是挺不错的,有兴趣的可以自行体验一下,最后案例文件附上,使用的时候注意文件的摆放路径。

来源:http://bbs.520it.com/forum.php?mod=viewthread&tid=2763

iconfont在html种颜色,iconfont+开始支持彩色图标相关推荐

  1. 如何UNI-APP中使用iconfont彩色图标

    问题:UNI-APP可以支持用户自定义引入iconfont标签库,但是加载引入页面的标签均为黑白颜色,下载的彩色图标默认变为黑白颜色 解决方案: 1.首先,从iconfont官网(iconfont-阿 ...

  2. uni-app小程序引入iconfont的三种方式详解(无需下载文件到项目)

    重要背景说明 官网iconfont的引入方式有三种分别为:Unicode.Font class.Symbol, 其中已明确说明 Unicode.Font class 这两种引入方式 不支持多色. 单色 ...

  3. vue中引入第三方字体图标库iconfont,及iconfont引入彩色图标

    iconfont字体图标使用就不多说了,大致是几部: 1.在iconfont官网选图标,加入购物车,加入项目,下载到本地,解压 2.在项目assets目录新建目录iconfont,用于存放刚才下载解压 ...

  4. 微信小程序引入iconfont彩色图标

    小程序引用iconfont前两种不支持彩色,必须使用symbol,使用方法如下: 引用方法名 支持多色 兼容性 unicode × 好 font-class × 良好 symbol √ 差 1.小程序 ...

  5. 三星note5 android版本区别吗,三星Note5哪种颜色好看?三星Note5四种颜色区别对比图解...

    三星Note5有几种颜色?哪种颜色更好看呢?三星Note5是一款时下非常受欢迎的大屏旗舰手机,搭载Exynos 7422八核处理器,4GB超大内存,配备S Pen触控笔,支持指纹识别等特性,颇受消费者 ...

  6. 特别浅的渐变蓝色在html里,javascript – 渐变色淡淡的3种颜色

    我一直在尝试使用HTML5和渐变渐变,我想使用3种颜色并逐渐淡化它们.目前我只能使用两种颜色. 我的目标与此图像类似: 颜色应该慢慢淡入彼此,我很满意我目前工作的淡化效果,虽然想添加第三种颜色. 我试 ...

  7. android 黄金颜色,一加手机3有哪几种颜色 一加3 薄荷金与冰川灰哪种颜色好看?...

    6月15日上午,一加科技召开了新品发布会,相信大家对这款机型充满期待.发布会正在进行当中,关于一加3的配置和外观设计基本上已经介绍完了.毋庸置疑,一加手机3采用了金属机身设计,我们知道一加前面2代产品 ...

  8. 怎么在小程序中使用彩色图标iconfont

    怎么在小程序中使用彩色图标iconfont 国际惯例,先上图: 概要 一般我们在开发的时候,都是采用 iconfont 来管理项目里的图标,方便快捷.但是当我需要将项目迁移的小程序的时候,就遇到了很多 ...

  9. 小米Max正式发布 三种颜色三种配置

    小米一直在预热的小米Max今天正式发布,正如其名字一样,其主要特点就是大--采用了6.44英寸1080p的屏幕.小米Max采用了2.5D弧面玻璃加金属机身的设计,背部设有指纹识别功能,配置方面则是高通 ...

最新文章

  1. Python 笔试面试及常用技巧 (1)
  2. 产品网络推广浅析网站在优化时文章标题撰写要注意哪些事项?
  3. 商淘多b2b2c商城系统怎么在个人电脑上安装_b2b2c商城系统免费模板怎么用?
  4. 使用PHP创建一个REST API(译)
  5. SAP Cloud for Customer销售订单External Note的建模细节
  6. 计数问题(洛谷-P1980)
  7. 中国地区Win10免费升级活动正式结束
  8. 不止 JavaScript 与 React,前端程序员必备的 9 大技能!
  9. 阶段3 1.Mybatis_09.Mybatis的多表操作_2 完成account表的建立及实现单表查询
  10. HTML关联两个标签事件,javascript – 交换2个html元素并保留事件侦听器
  11. 尚学堂马士兵老师的JAVA自学之路
  12. Topaz Video Enhance AI(ai视频画质增强软件)官方正式版V2.2.0 | AI视频放大软件下载 | 视频画质怎么变清晰?
  13. three.js加载Obj三维模型
  14. 什么样呢软件能测试你的车歪不歪,你知道吗?所有汽车轮子竟然是歪的!
  15. Ventoy的pe盘制作及重装系统步骤【解释的非常清楚!!!】
  16. kubernetes(4)Pod的核心概念、Pod的调度
  17. 心田花开:解锁各类语文阅读理解答题技巧
  18. 小数,分数,百分数及倍数的怎么表达?怎么读? kira86 于2010-07-07发布 l 已有1958人浏览增大字体 减小字体 常态文玩 数百名外教任意选,每天陪你练口语 一个积分学英语,您的账户
  19. 天道酬勤~我如此惬意
  20. 【c++从菜鸡到王者】第六篇:详解晦涩难懂的c++语法

热门文章

  1. 网络安全比赛理论答题(二)
  2. Python中sort和sorted的用法与区别
  3. [python]函数默认参数顺序问题
  4. 在python中如何比较两个float类型的数据是否相等
  5. php设置404返回302,java - 服务器访问应用返回302或者404状态码
  6. 放置奇兵 算法 月度活动 破碎时空记录 第七关 阿姨(阿伊达)+暗战(阿斯布)
  7. Nginx+Tomcat+memcached负载均衡实现seccion存储
  8. Java获取List泛型的真实类型
  9. CAS Server(三):配置MySQL数据库验证用户名密码
  10. java成员属性生命周期,Spring注解 - 生命周期、属性赋值、自动装配