字体图标书写

这篇文章总结的并不是特别全面,本人在微信公共号已经发布了一篇新的文章关于 Iconfont

地址路径为:https://mp.weixin.qq.com/s/jB1g6tn3ZNiRTpl8P9E7yQ

也可以扫码以下二维码关注微信公众号进行查看
在这里插入图片描述
现在的字体图标无非分为三种,分别是Unicode, Font class, Symbol。

1.Unicode


Unicode 是字体在网页端最原始的应用方式,特点如下

  • 兼容性最好,支持IE6+,以及现代的浏览器
  • 可以按字体的方式调整大小,颜色
  • 因为是字体,不支持多色

第一步:拷贝项目下面生成的@font-face

@font-face {
  /*定义的字体图标名称,可以自己改*/
  font-family: 'iconfont';  
  /* 引入的文件 */
  src: url('iconfont.eot');
  src: url('iconfont.eot?#iefix') format('embedded-opentype'),
      url('iconfont.woff2') format('woff2'),
      url('iconfont.woff') format('woff'),
      url('iconfont.ttf') format('truetype'),
      url('iconfont.svg#iconfont') format('svg');
}

第二步:定义使用iconfont(图标)的样式

.iconfont {
  font-family: "iconfont" !important;
  font-size: 16px;
  font-style: normal;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

第三步:挑选相应图标以及其字体编码,使用

<span class="iconfont">&#xe70b;</span>

2.Font class


font-class 是Unicode使用方式的一种变种,特点如下:

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

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

@font-face {font-family: "iconfont";
  src: url('iconfont.eot?t=1550116961862'); /* IE9 */
  src: url('iconfont.eot?t=1550116961862#iefix') format('embedded-opentype'), /* IE6-IE8 */
  url('data:application/x-font-woff2;charset=utf-8;base64,d09GMgABAAAAAAKwAAsAAAAABpQAAAJkAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHEIGVgCCcAqBEIERATYCJAMICwYABCAFhG0HPxvGBcgusG3YkyJV2MBiHbfFKsDxOB4RRPv9Zu/dNweSaoMomkUTmWSVSCVBbJRKaFrC+7+p+x1bF32SmQ5Zxd5uZfy7XjMu7/LT8TwqqWMIXYUyoFFQoaAK26aoQKjfD4CBinL0C8CAy+lPoAdZHVBue9JYk8cGCywNdA+MIiuSyBvGLniBjwk0TVuVOdk9voayzF4ViAcpTCgXIrLM8nWh2nAwiw8V9fSWPoD36Pvxrx1lkkrBbjq/33Fg/bvmFBWvpe4CQpSAjldQYBPIxHVj5lROMC6nmcmbB8eqD75rZRm4xVEdgv11dm0bTELlM6k89aPWJpCT6VVga9KlpDGmeGuBv/aW1HHiovO8Mc6qbvhqjtPZ0ixJBs0NwnnTi+k4Ff3VdanWkSY5l0jhbw3Mg3WAUjEp7iCD4PF59j87XyuDr6RiRqFShmE+UN+5N/hJqoED2dDYrpQ1VaMvWZ20MqGpiTIcGPqZah2/o0KoG78vX81UhkLdIpnZTVS0bKOqbh9NG/aOt4xoOZEbWPcEEPrekXR9otD3SWb2GxUTflHVjxyabmN0YctyyOqxRpPQYdaISVsF3PVQNa6/RBF7ps5rIv4WdSTjrGU0y/k9DFAvsSXqizYRZ1wrn+2C59DzFAu16qFNRpco7DQavOlNhq18qDqmIRNBDsYywkg2JcCDyaRa+fwlJMQ8Jt3RUpe/hbSInJ1pMTQHkHvGYFDLo7wS6RPaCOEYTlN8zC6YhzwehQmb5/UgGzF0J6RCHQ1nFB9qNLY3+z9QwTqwbSmcLYXxF2kGYqTiqBvH+l4hTSoGAA==') format('woff2'),
  url('iconfont.woff?t=1550116961862') format('woff'),
  url('iconfont.ttf?t=1550116961862') format('truetype'), /* chrome, firefox, opera, Safari, Android, iOS 4.2+ */
  url('iconfont.svg?t=1550116961862#iconfont') format('svg'); /* iOS 4.1- */
}

.iconfont {
  font-family: "iconfont" !important;
  font-size: 16px;
  position: absolute;
  top: 100px;
  color: red;
  font-style: normal;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.icon-xiangyoushuangjiantou:before {
  content: "\e70b";
}

第二步: 挑选相应图标以及类名

<span class="iconfont icon-xiangyoushuangjiantou"><span/>

3.Symbol


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

  • 支持多色图标了,不再受单色限制。
  • 通过一些技巧,支持像字体那样,通过 font-size, color 来调整样式。
  • 兼容性较差,支持 IE9+,及现代浏览器。
  • 浏览器渲染 SVG 的性能一般,还不如 png。

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

<script src="./iconfont.js"></script>

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

.icon {
  width: 1em;
  height: 1em;
  vertical-align: -0.15em;
  fill: currentColor;
  overflow: hidden;
}

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

<svg class="icon" aria-hidden="true">
  <use xlink:href="#icon-xxx"></use>
</svg>

这里给大家分享一下字体图标获取的途径:阿里巴巴矢量图标库

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值