1、为啥要用font-face制作小图标

1)适用性:一个图标字体要比一系列的图像要小,一旦字体图标加载完,图标则会立刻显示出来,不需要去下载一个图像。

2)可扩展性:可以使用font-size对图标进行大小设置,这使得能够随时输出不同大小的图标;但如果是图片,则需要为不同大小的图片输出不同的文件。

3)灵活性:可以为图标添加任何文字效果,并且可以在任何背景下展示。

4)兼容性:网页字体支持所有现代浏览器,包括IE低版本。

2、实现步骤

首先,将SVG转换成web字体。使用网站:Icomoon

点击‘Import Icons’按钮导入需要转换为web字体的图标。选中后点击 ‘Generate Font’按钮将web字体下载下来。

下载文件中有个demo.html,打开文件,可以看到不同的图标对应的通字符:

其次,调用字体。

声明@font-face:

@font-face{
            font-family: 'icomoon';
            src:url('fonts/icomoon.eot');  /* IE 专用*/
            src:url('fonts/icomoon.eot?#iefix') format('embedded-opentype'),  /* IE*/
                url('fonts/icomoon.woff') format('woff'),                     /* chrome,firefox,IE9+,safari,opera */
                url('fonts/icomoon.ttf') format('truetype'),                  /* IOS4.2+ */
                url('fonts/icommon.svg') format('svg');                       /* IOS */
            font-weight: normal;
            font-style: normal;

}

使用字体:

[class ^="icon-"],[class*=' icon-']{
            font-family: 'icomoon';
        }
        .icon-1:before{
            content: "\e600";

}

测试代码:

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title>font-face 测试页面</title>
    <style>
        @font-face{
            font-family: 'icomoon';
            src:url('fonts/icomoon.eot');  /* IE 专用*/
            src:url('fonts/icomoon.eot?#iefix') format('embedded-opentype'),  /* IE*/
                url('fonts/icomoon.woff') format('woff'),                     /* chrome,firefox,IE9+,safari,opera */
                url('fonts/icomoon.ttf') format('truetype'),                  /* IOS4.2+ */
                url('fonts/icommon.svg') format('svg');                       /* IOS */
            font-weight: normal;
            font-style: normal;
        }
        
        [class ^="icon-"],[class*=' icon-']{font-family: 'icomoon';}
        .icon-1:before{content: "\e600";}
        .icon-2:before{content: "\e601";}
        .icon-3:before{content: "\e602";}
        .wrap ul{list-style: none;}
        .wrap ul li{line-height: 28px;font-size: 28px;}
    </style>
</head>
<body>
    <section class="wrap">
        <ul>
            <li class="icon-1">第一个li</li>
            <li class="icon-2">第二个li</li>
            <li class="icon-3">第三个li</li>
        </ul>    
        
    </section> 
</body>

</html>

效果图:

@font-face制作小图标的实践的更多相关文章

  1. ALT+TAB切换时小图标的添加 界面透明 屏幕大小 竖行字体 进程信息

    一,ALT+TAB切换时小图标的添加 Dlg类中添加变量 protected: HICON m_hIcon; #define IDR_MAINFRAME 128 ICON IDR_MAINFRAME, ...

  2. 【CSS学习笔记】初始化CSS后,写li,并利用背景图片,来完成li小图标的效果,且达到个浏览器兼容

    第一种情况 /*当标题前的图标时单独的一个点儿或者方块或者其他类似图标时,定义背景图background要放在<li>里.    在<li>中设置背景图片的尺寸,地址,不重复, ...

  3. 关于input输入框内设置小图标的问题

    其实很简单,只需要html和css就可以搞定啦 首先:<input class="layui-input" id="test1" placeholder= ...

  4. 转:Eclipse 各种小图标的含义

    原文地址:https://www.cnblogs.com/widget90/p/7592507.html Eclipse 各种小图标的含义,记录一下. Eclipse的Package Explorer ...

  5. css:自己实现一个带小图标的input输入框

    有小图标的input输入框<input type="text" placeholder="输入手机号" style="background:ur ...

  6. Eclipse自定义启动画面和状态栏图标以及各种小图标的含义

    一. 启动画面自定义 第一种情况:纯Eclipse 找到Eclipse安装路径下\eclipse\plugins\org.eclipse.platform_3.7.2.v201202080800,具体 ...

  7. 手机uc浏览器,获取到图片,但左上有小图标的问题

    手机uc浏览器有个坑 获取不到图片,左上是这样的

  8. 使用font awesome制作网站常用社交工具联系方式图标

    在公司项目或者个人建站时经常会有这么一个需求,就是在网站的底部以图标的形式加入自己的某些常用社交联系方式,比如QQ.微信.微博.Twitter等等,如果采用传统切图的方式去制作这些图标会有两个缺点: ...

  9. 【咸鱼教程】TextureMerger1.6.6 三:Bitmap Font的制作和使用

    BitmapFont主要用于特殊字体在游戏中的使用   目录 一 方法1:添加字符      适合一张一张的零碎图片来制作位图字体 二 方法2:系统字体      适合使用已安装的系统字体来制作位图字 ...

随机推荐

  1. 三. python面向对象

    第七章.面向对象基础 1.面向对象基础 类和对象: a. 创建类 class 类名: def 方法名(self,xxx): pass b. 创建对象 对象 = 类名() c. 通过对象执行方法 对象. ...

  2. verilog behavioral modeling--sequential and parallel statements

    1.Sequential statement groups the begin-end keywords: .group several statements togethor .cause the ...

  3. mysql函数总结

    MySQL函数 MySQL数据库提供了很多函数包括: 数学函数:字符串函数:日期和时间函数:条件判断函数:系统信息函数:加密函数:格式化函数: 一.数学函数 数学函数主要用于处理数字,包括整型.浮点数 ...

  4. odoo Windows10启动debug模式报错(Process finished with exit code -1073740940 (0xC0000374))

    之前用win10系统,安装odoo总是启动debug模式启动不起来很恼火. 报错问题:Process finished with exit code -1073740940 (0xC0000374) ...

  5. failed to execute goal org.apache.maven.plugins:maven-archetype-plugin错误解决方法

    使用maven创建project时碰到如下错误: D:\codes\JSF>mvn archetype:create -DgroupId=com.tutorialspoint.test -Dar ...

  6. Python 输出命令行进度条

    在使用 pip 安装时,你会发现有下载进度条,我们也可以借助开源的第三方库来实现这个功能,在项目输出时增加一些可视化效果. 一个简单易用的第三方库是:progress 作者提供了动图很直观地展现了实现 ...

  7. Django之url上的include,URL命名和反向解析,命名空间

    include其他的URLconfs   #At any point, your urlpatterns can “include” other URLconf modules. This #esse ...

  8. 【转】js里的时间函数集

    $(function(){ var mydate = new Date(); var t=mydate.toLocaleString(); $("#time").text(t); ...

  9. cf886d Restoration of string

    明确几点 假设有串 ab,那么 a 后头必须是 b,b 前头必须是 a,否则就不是最频繁的了. 不可成环,aba是非法的. #include <iostream> #include < ...

  10. JSON Extractor/jp@gc - JSON Path Extractor 举例

    测试描述 使用json返回结果做校验 测试步骤 1.配置http请求 2.根据结果树返回的json,取值 {"status_code":200,"message" ...