css中Font字体小图标应用

 更新时间:2016年9月14日 14:19  点击:2444
Font字体小图标应用其实是在以前我们常用的css sprite进行升级了,我们可以直接在css中调用字体了,下面我们来看一篇关于Font字体小图标应用例子。

我们知道在页面上载入小图标有多种方式,比如我们使用比较多的是css sprite背景图片定位,就是将很多小图标集成到一张大图,然后使用CSS定位背景。还有一种比较现代的方式是使用font字体图标,它利用@font-face原理载入图标字体库,然后调用图标。


使用css sprite方式非常方便,可以有很多色彩缤纷的图标,而且兼容性好,但是缺点就是图标不能缩放,或者说缩放了会失真,另外维护也不方便,修改一个图标要对整张大图就行修改,并且定位像素需要借助PS等工具确定位置。而使用图标字体库越来越受开发者青睐,它的维护简单,而且对图标缩放自由,随时都可以展示高清的图标,可以添加阴影效果和动画效果,设置也非常方便,唯一差点的就是图标颜色比较单一,就是设置的时候只能设置一个图标为单一颜色。下面我们来看下如何使用font字体小图标。
HTML

目前市面上有很多字体图标库,有收费的也有免费使用的。常见的有icomoon,Font-Awesome 以及 Glyphicon Halflings,Glyphicon在bootstrap下使用时免费的。当然国内阿里系也开放了自己的图标库。
本文讲解下使用icomoon字体库,我们可以在官网上选择喜欢的字体图标然后下载并部署到项目中,当然也可以自己制作图标然后上传到官网上。下载好的字体库,在一个fonts/的文件夹里。我们先布置好html结构:

<ul class="icons">
    <li class="sp"><i class="icon-spades spades"></i> 黑桃K</li>
    <li class="red"><i class="icon-file-picture"></i> 照片</li>
    <li><i class="icon-tablet"></i> iPad</li>
    <li><a href="#"><i class="icon-bubbles"></i> 评论</a></li>
</ul>

我们在上面的html代码中,给元素li里添加了<i>,然后加上class属性,class值就对应了css文件里的字体图标样式了。
CSS

首先我们使用@font-face命名字体名称,以及加载的字体文件,需要加载多个字体文件以兼容各浏览器和系统。然后定义class含有icon的样式,注意其中使用了抗锯齿处理,就是图片放大的时候不会出现边缘锯齿现象,然后使用伪类,设置content即图标内容。

@font-face {
    font-family: 'icomoon';
    src:    url('../fonts/icomoon.eot?42vx6u'); /* IE9 兼容模式 */
    src:    url('../fonts/icomoon.eot?42vx6u#iefix') format('embedded-opentype'),
        url('../fonts/icomoon.ttf?42vx6u') format('truetype'),
        url('../fonts/icomoon.woff?42vx6u') format('woff'),
        url('../fonts/icomoon.svg?42vx6u#icomoon') format('svg');
    font-weight: normal;
    font-style: normal;
}
 
[class^="icon-"], [class*=" icon-"] {
    font-family: 'icomoon' !important;
    speak: none;
    font-style: normal;
    font-weight: normal;
    font-variant: normal;
    text-transform: none;
    line-height: 1;
 
    /* 抗锯齿处理 =========== */
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}
 
.icon-spades:before {
    content: "\e900";
}
.icon-file-picture:before {
    content: "\e901";
}
.icon-tablet:before {
    content: "\e902";
}
.icon-bubbles:before {
    content: "\e903";
}

然后,我们运行下html页面,是不是可以看到几个图标了,方便实用吧。
如果想给图标定义动画效果,可以使用css来实现。

.spinner{
    -webkit-animation: spinner 1s infinite linear;
    animation: spinner 1s infinite linear;
}
 
@-webkit-keyframes spinner{
    0%{
        -webkit-transform: rotate(0deg);
        transform: rotate(0deg);
    }
    100%{
        -webkit-transform: rotate(359deg);
        transform: rotate(359deg);
    }
}

以上代码定义了图标旋转动画,我们可以结合js实现这样的效果:当鼠标滑上图标时展示图标旋转动画,当鼠标离开时,停止旋转动画。这个效果的代码大家可以参照demo中的源码。demo中我还加上了Font Awesome字体图标示例和Glyphicons字体图标示例,大家可以查看demo或下载源码了解。

[!--infotagslink--]

相关文章

  • js简单实现调整网页字体大小的方法

    这篇文章主要介绍了js简单实现调整网页字体大小的方法,通过javascript动态修改页面元素样式实现调整网页字体的功能,非常简单实用,需要的朋友可以参考下...2016-07-29
  • vivo X9如何查出后台偷跑流量应用?vivo X9查出后台偷跑流量应用的方法

    vivo X9如何查看后台流量偷跑的情况?小编教你轻松查到!还不了解的小伙伴快来看看吧! 1)打开手机自带的【i管家】应用,打开后点击【流量监控】选项。(如下图) 2)接着选...2016-12-31
  • PHP云存储Redis的应用场景与Redis实现排行榜功能

    Redis是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。本文我们来讲解Redis的应用场景实例。 C...2016-11-25
  • JS跨浏览器解析XML应用过程详解

    这篇文章主要介绍了JS跨浏览器解析XML应用过程详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下...2020-10-16
  • PHP explode()函数的几个应用和implode()函数有什么区别

    explode()函数介绍explode() 函数可以把字符串分割为数组。语法:explode(separator,string,limit)。 参数 描述 separator 必需。规定在哪里分割字符串。 string...2015-11-08
  • PHP Libevent扩展安装配置及简单应用

    Libevent 是一个用C语言编写的、轻量级的开源高性能网络库,主要有以下几个亮点:事件驱动( event-driven),高性能;轻量级,专注于网络,下文我们就一起来看PHP Libevent扩展安装...2016-11-25
  • php中echo <<< 的应用

    <? $a="变量的值将被带入"; echo <<< help <pre> php中echo <<< 的应用 虽然echo "...";可以断行,但若其中如出现",则仍需做转义 处理。需写做: echo " ...2016-11-25
  • PHP-GTK 介绍及其应用

    1. PHP-GTK介绍 1.1 PHP-GTK PHP-GTK是PHP的延伸模组,它可以让程式设计师写出在客户端执行的、且独立的GUI的程式。这个模组不允许在浏览器上显视GTK+的程式,它一开始就...2016-11-25
  • goland设置颜色和字体的操作

    这篇文章主要介绍了goland设置颜色和字体的操作方式,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2021-05-04
  • css中Font字体小图标应用

    Font字体小图标应用其实是在以前我们常用的css sprite进行升级了,我们可以直接在css中调用字体了,下面我们来看一篇关于Font字体小图标应用例子。 我们知道在页面上...2016-09-14
  • ajax简单与ajax+php实例应用(1/4)

    [ajax介绍]   ajax是使用客户端脚本与web服务器交换数据的web应用开发方法。web页面不用打断交互流程进行重新加裁,就可以动态地更新。使用ajax,用户可以创建接近本地...2016-11-25
  • css中Float属性深入剖析与应用

    这篇文章介绍了css中的float属性的应用和理解,让设置的标签产生浮动效果。希望能帮助到有需要的同学。 一、Float的特性 1. 应用于文字围绕图片 2. 创建一个块级框...2017-01-22
  • Android字体相关知识总结

    最近接到一个需求,大致内容是:全局替换当前项目中的默认字体,并引入 UI 设计师提供的一些新字体。于是对字体做了些研究,把自己的一些心得分享给大家。注意:本文所展示的系统源码都是基于Android-30 ,并提取核心部分进行分析...2021-06-18
  • php ob_start() ob_end_flush()缓存技术简单应用

    本文章介绍了一个简单的关于php入门篇-缓存技术简单应用,有需要的朋友可以看看哦,这里是利用了ob_start(); ob_end_flush(); 来实例的。 代码如下 复制...2016-11-25
  • Illustrator怎么让字体变细 让字体变细方法分享

    今天小编在这里就来给llustrator的这一款软件的使用者们来说一说让字体变细的方法,各位想知道具体绘制方法的使用者们,那么下面就快来跟着小编一起看看教程吧。 给...2016-09-14
  • Android 应用包 apk 的内部结构详解

    Android应用程序会通过一个工具将应用所有的CLASS文件转换成一个DEX文件,而后Dalvik虚拟机会从其中读取指令和数据。 Android 是Google开发的基于Linux平台的开源手机操...2016-09-20
  • ps制作蜂蜜广告字体

    这次文章给大家带来ps的一个应用实例,ps怎么制作蜂蜜广告字体,这也是一些人会遇到的问题,下面我们一起来看看具体制作方法。 1、打开Photoshop软件,将素材放入操作界...2017-07-06
  • Illustrator字体设计及标志设计教程分享

    今天小编在这里就来给Illustrator的这一款软件的使用者们来说一下字体设计以及标志设计的教程,各位想知道具体信息的使用者们,那么下面就快来跟着小编一起看看教程吧。...2016-09-14
  • Illustrator快速制作出斜面浮雕效果的小图标教程

    今天小编在这里就来给Illustrator的这一款软件的使用者们来说一说快速制作出斜面浮雕效果的小图标的教程,各位想知道具体绘制方法的使用者,那么下面就快来跟着小编一起...2016-09-14
  • 从零开始的html教程之CSS篇(3):常用的字体与文本属性

    一聚教程网 从零开始的html教程之CSS篇(2),介绍了css中常用的文字文本属性。这系列教程讲解CSS叠层样式表的知识,希望大家喜欢! 一、css常用的字体属性 1.字体的设置...2017-01-22