【前端基础】1 - 9 字体图标

§1-9 字体图标

1-9.1 字体图标的应用

实际上,一个网页中往往存在大量的小图。以京东为例,京东首页中的位置图标、搜索框中的摄像头图标、搜索图标、购物车图标,以及轮播图中的箭头都是小图。但是,这些图标并不是来自某一张大图,这些图标实际上是通过字体实现的。

国内常用的字体图标库来自于阿里巴巴矢量图标库(iconfont),图标库中的官方图标库能够满足大多数使用需求。

字体图标常用于在网页中添加简单的、单色小图标。字体图标虽然展示的是图标,但本质上是字体,因而受到文本相关属性控制。字体图标具有以下优势:

  • 灵活性:支持灵活修改样式,如尺寸、颜色等;
  • 轻量级:字体相较于图片体积小、渲染快,降低服务器请求次数;
  • 兼容性:几乎兼容所有主流浏览器;
  • 使用方便:先下载后使用;

1-9.2 下载图标库并使用图标

访问阿里巴巴矢量图标库,在上方导航栏中选中素材库,点击 “官方素材库”。找到心仪的图标库,选择图标并加入购物车。然后,选择 “添加至项目”,确定后,下载至本地。

选择添加至项目得到的素材更全,且方便后期往项目中追加图标。下载到本地,这是一个压缩文件。将文件解压并存放到项目中。

压缩文件中一般会含有下列文件:

  • index.html:包含字体预览以及引用教程的 HTML 文档;
  • iconfont.ttf, iconfont.woff, iconfont.woff2:字体图标所依赖的字体文件;
  • iconfont.css:导入到网页时所需要的字体样式表;
  • 其他文件

打开 index.html,文档中包含了三种不同的字体引用方式:Unicode 引用、Font class 引用、Symbol 引用。

示例:使用 Font class 引用导入字体图标实现搜索框。

<!DOCTYPE html>
<html lang="zh">
<head>
    <meta charset="UTF-8">
    <title>字体图标</title>

    <link rel="stylesheet" href="../../resources/iconfont/iconfont.css">
    <link rel="stylesheet" href="css/style.css">
</head>
<body>

<div class="search">
    <input type="text" name="search" placeholder="输入关键词以搜索">
    <a href="#"><span class="iconfont icon-search"></span></a>
</div>

</body>
</html>
/* style.css */
.body {
    background-color: #ffffff;
}

.search {
    display: flex;

    margin: 15px auto;
    padding: 0 15px;
    width: 500px;
    height: 36px;

    border-radius: 18px;
    background-color: whitesmoke;
}

.search input[name=search] {
    flex: 1;

    border: none;				/* 禁用边框 */
    background: transparent;	/* 背景色透明 */
    outline: none;				/* 禁用焦点边框 */
}

.search input[name=search]::placeholder {
    font-size: 14px;
    color: gray;
}

.search .icon-search {
    line-height: 36px;
    font-size: 24px;
    color: gray;
}

.search > a {
    text-decoration-line: none;
}

.search > a:hover > .icon-search {
    color: cornflowerblue;
}

注意:使用 Font class 导入字体,修改图标字体样式时需要使用 .iconfont 选中。

1-9.3 上传自定义图标库

可以将自己所制作的图标(.svg)上传至 iconfont 后生成自定义图标库以供使用。

posted @ 2024-03-09 20:41  Zebt  阅读(3)  评论(0编辑  收藏  举报