18910140161

CSS学习28字体图标

顺晟科技

2022-09-13 12:20:37

39


CSS 字体图标

1. 字体图标的产生

字体图标的使用场景:主要用于显示网页中通用、常用的一些小图标。

精灵图是有诸多优点,但是缺点很明显:

  1. 图片文件还是比较大的
  2. 图片本身放大和缩小会失真
  3. 一旦图片制作完毕想要非常复杂

此时,有一种技术的出现很好的解决了以上问题,就是字体图标iconfront。

字体图标可以为前端工程师提供一种方便高效的图标使用方式,展示的是图标,本质属于字体。


2. 字体图标的优点

  • 轻量级:一个图标字体要比一系列的图像要小。一旦字体加载了,图标就会马上渲染出来,减少了服务器请求
  • 灵活性:本质其实是文字,可以很随意的改变颜色、产生阴影、透明效果、旋转等
  • 兼容性:几乎支持所有的浏览器,请放心使用

注意:字体图标不能替代精灵技术,只是对工作中图标部分技术的提升和优化。

总结:

  1. 如果遇到一些结构和样式比较简单的小图标,就用字体图标。
  2. 如果遇到一些结构和样式复杂一点的小图片,就用精灵图。

3. 字体图标的下载

推荐下载网站:

  • icomoon 字库 http://icomoon.io
  • 阿里 iconfont 字库 http://www.iconfont.cn/ 

在这里我们以 icomoon 字库为例。

下载完成之后,注意原先的文件不要删,后面会用。


4. 字体图标的引入

  1. 把下载包里面的 fonts 文件夹放入页面根目录下

    image-20210604162040388

  2. 在 CSS 样式中全局声明字体:简单理解就是把这些字体文件通过 css 引入到我们页面中。

    一定注意字体文件路径的问题。

    @font-face {
            font-family: \'icomoon\';
            src: url(\'fonts/icomoon.eot?p4ssmb\');
            src: url(\'fonts/icomoon.eot?p4ssmb#iefix\') format(\'embedded-opentype\'),
                url(\'fonts/icomoon.ttf?p4ssmb\') format(\'truetype\'),
                url(\'fonts/icomoon.woff?p4ssmb\') format(\'woff\'),
                url(\'fonts/icomoon.svg?p4ssmb#icomoon\') format(\'svg\');
            font-weight: normal;
            font-style: normal;
            font-display: block;
    }
    
  3. HTML标签内添加小图标 ( 小图标可在所下载的文件夹里的 demo.html 内查看 )。

image-20210604162923995

<span></span>

示例代码

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>字体图标的使用</title>
    <style>
        /* 字体声明 */
        @font-face {
            font-family: \'icomoon\';
            src: url(\'fonts/icomoon.eot?p4ssmb\');
            src: url(\'fonts/icomoon.eot?p4ssmb#iefix\') format(\'embedded-opentype\'),
                url(\'fonts/icomoon.ttf?p4ssmb\') format(\'truetype\'),
                url(\'fonts/icomoon.woff?p4ssmb\') format(\'woff\'),
                url(\'fonts/icomoon.svg?p4ssmb#icomoon\') format(\'svg\');
            font-weight: normal;
            font-style: normal;
            font-display: block;
        }

        span {
            font-family: \'icomoon\';
            font-size: 100px;
            color: pink;
        }
    </style>
</head>

<body>
    <span></span>
    <span></span>
</body>

</html>

运行结果

image-20210604163059239

fonts 文件夹下载地址:https://files.cnblogs.com/files/blogs/677379/fonts.zip


5. 字体图标的追加

如果原来的字体图标不够用了,我们需要添加新的字体图标到原来的字体文件中。

把压缩包里面的 selection.jason 重新上传,然后选中自己想要的新图标,重新下载压缩包,并替换原来的文件即可。

image-20210604163739573

相关文章
我们已经准备好了,你呢?
2024我们与您携手共赢,为您的企业形象保驾护航