可以看作一种特殊字体,其展示的是图标,而不再是文字,其拥有字体的特性,比如大小、颜色、透明效果、阴影等,字体图标加载快、不变形。也可以看作是矢量格式的图标。
(1)iconmoon字体图标库:https://icomoon.io/app
(2)阿里iconfont字体图标库:https://www.iconfont.cn/
(3)font-awesome字体图标库:
以iconmoon为例
(1)选择需要的图标并下载
1)在fonts文件夹下有四种类型的字体文件,每种字体文件兼容浏览器的种类不同
a).tff格式(TrueTypeFont),美国苹果公司和微软公司共同开发的,在Windows和Mac操作系统中为默认字体;IE9+、FireFox3.5+、Chrome4+、Safari3+、Opera10+、IOS Mobile中的Safari4.2+等浏览器支持该字体。
b).woff格式(Web Open Font Format-Web开放字体格式),是一种网页所采用的字体格式标准,使用zlib压缩,文件大小一般比TTF小40%;IE9+、FireFox3.6+、Chrome6+、Safari5.1+、Opera11.1+等浏览器支持该字体。
c).eot格式(Embedded Open Type-嵌入式OpenType ),微软设计用来在网页使用的字体格式,是OpenType字体的压缩格式,IE专用,IE4+支持该字体。
d).svg格式(Scalable Vector Graphics-可缩放的矢量图形),它是一种用XML定义的语言,用来描述二维矢量及矢量/栅格图形;Chrome4+、Safari3.1+、Opera10+、IOS Mobile中Safari3.2+等浏览器支持该字体。
其他字体
e).otf格式(Open Type Font),Microsoft和Adobe公司开发的,.otf格式比.ttf更为强大,可以把PostScript字体嵌入到TrueType中。
2)字体转换
https://www.fontke.com/tool/convfont/
(2)字体图标的引入
1)把字体放到项目的相应位置
将下载解压后的fonts文件夹放到项目路径下
2)在html页面中引入字体
利用CSS的@font-face属性,引入外部字体;
在style.css文件中有如下代码,为固定用法,注意url中字体路径,其它可以不变。
在html的style标签中引入如下代码:
@font-face {
font-family: 'icomoon';
src: url('fonts/icomoon.eot?8l3wc0');
src: url('fonts/icomoon.eot?8l3wc0#iefix') format('embedded-opentype'),
url('fonts/icomoon.ttf?8l3wc0') format('truetype'),
url('fonts/icomoon.woff?8l3wc0') format('woff'),
url('fonts/icomoon.svg?8l3wc0#icomoon') format('svg');
font-weight: normal;
font-style: normal;
font-display: block;
}
3)为元素用该字体
span {
font-family: "icomoon";
}
4)为元素添加内容
复制demo.html中需要的图标,如下,将其作为元素的内容。
<span></span>
(3)新增字体图标的引入
当利用iconmoon选用字体图标时,如果有新增的字体图标需要加入,则需要用到.json文件,如下,在原先选择的基础上,再选择新选择的字体图标,然后再下载使用。
喽大家好,我是作者“未来”,本期分享的内容是Web前端系列课程,本系列总共29个阶段,坚持学习3个月蜕变为Web前端高手哦!
志同道合的小伙伴跟我一起学习交流哦!
图片是有诸多优点的,但是缺点很明显,比如图片不但增加了总文件的大小,还增加了很多额外的"http请求",这都会大大降低网页的性能的。更重要的是图片不能很好的进行“缩放”,因为图片放大和缩小会失真。我们后面会学习移动端响应式,很多情况下希望我们的图标是可以缩放的。此时,一个非常重要的技术出现了,额不是出现了,是以前就有,是被从新"宠幸"啦。。。这就是字体图标( iconfont)
1 字体图标的优点
可以做出跟图片一样可以做的事情,改变透明度、旋转度,等但是本质其实是文字,可以很随意的改变色、产生阴影、透明效果等等本身体积更小,但携带的信息并没有削减。
几乎支持所有的浏览器
移动端设备必备良药……
2 svg格式上传转换字体格式
总体来说,字体图标按照如下流程:
设计字体图标
假如图标是我们公司单独设计,那就需要第一步了,这个属于U设计人员的工作,他们在illustrator或 Sketch这类矢量图形软件里创建icon图标,比如下图:
之后保存为svg格式,然后给我们前端人员就好了。
其实第一步,我们不需要关心,只需要给我们这些图标就可以了,如果图标是大众的,网上本来就有的,可以直接跳过第一二步,进入第三步。
上传生成字体包
当UI设计人员给我们svg文件的时候,我们需要转换成我们页面能使用的字体文件,而且需要生成的是兼容性的适合各个浏览器的。
推荐网站:icomoon.io
icomoon字库
icomoon成立于2011年,推出的第一个自定义图标字体生成器,它允许用户选择他们所需要的图标,使它们成一字型。内容种类繁多,非常全面,唯一的遗憾是国外服务器,打开网速较慢。
推荐网站:iconfont.cn
阿里 icon font字库
iconfont.cn
这个是阿里妈妈M2UX的一个 icon font字体图标字库,包含了淘宝图标库和阿里妈妈图标库。可以使用AI制作图标上传生成。一个字,免费,免费!!
Fontello
fontello.com
在线定制你自己的 icon font字体图标字库,也可以直接从 GitHub下载整个图标集,该项目也是开源的。
Font-Awesome
fortawesome.github.io/font-Awesome
这是我最喜欢的字库之一了,更新比较快。目前已经有369个图标了。
3 下载字体图标
刚才上传完毕,网站会给我们把UI做的svg图片转换为我们的字体格式,然后下载下来就好了当然,我们不需要自己专门的图标,是想网上找几个图标使用,以上2步可以直接省略了,直接到刚才的网站上找喜欢的下载使用吧。
4 复制需要的字体文件
5 复制需要的字体文件
第一步:在样式里面声明字体:告诉别人我们自己定义的字体
这段代码不用记,直接复制即可,如下:
第二步:给盒子使用字体
第三步:盒子里面添加结构
before的方法如下:
注意要加上\斜杠。
span的方法如下:
复制这个小方块粘贴到span中间,但是什么都看不到,这样就对了
6 追加新图标字体的方法
追加新图标到原来库里面如果工作中,原来的字体图标不够用了,我们需要添加新的字体图标,但是原来的不能刪除,继续使用,此时我们需要这样做:
把压缩包里面的 selection. json从新上传,然后,选中自己想要新的图标,从新下载压缩包,替换原来文件即可
看不懂的小伙伴不要气馁,后续的分享中将持续解释,只要你跟着我分享的课程从头到尾去学习,每篇文章看三遍,一个月后,回过头来看之前的文章就会感觉简单极了。
本章已结束,下篇文章将分享《20 滑动门技术及应用》小伙伴们不要错过哟!
大有学问# #头条创作挑战赛#
在html代码中是以文字元素的形式出现,但在网页渲染时却以图片的形式显示的小图标就叫做字体图标。
常见形式:地址、电话、登录窗口的头像等。
字体图标比精灵图更为轻量化,在网页中加载速度更快;
精灵图在实际使用中,图片放大或缩小时图片会失真。
精灵图是一张多个图标整合的一个大图片,后续添加或修改图标不方便。
注:
虽然字体图标好处多多,但是它并不能替代精灵图。
当小图标形式简单且个数较少时适合使用字体图标;
当小图标形式复杂且个数较多时适合使用精灵图。
icomoon网站:https://icomoon.io/。
阿里iconfont字库:https://www.iconfont.cn/。
以icomoon网站为例。
从网站中下载图标压缩包:点击右上角“IcoMoon App”按钮,进入字体图标选择页面。
icomoon网站首页
选中需要的图标(选中状态的图标,背景颜色会变白且出现黄色边框)后,个数可以选择1个,也可以选择多个。选好图标后,点击右下角“Generate Font ”按钮进入下载页面。
字体图标选择页面
点击右下角“download”按钮进行下载。
icomoon网站图标下载页面
解压下载好的压缩包。
字体图标下载文件解压后的文件夹
将解压好的文件夹整体添加到项目文件夹中,我没有单独设置字体文件夹,直接放在素材图片文件夹了。
项目文件夹目录
打开字体图标文件夹中style.css,
复制字体声明到html文件的style样式中,改变url的图标文件存放位置。
span标签中字体样式需要与字体声明中样式保持一致。
字体图标调用
在html文件中,span标签的内容是需要从网站中直接粘贴复制过来使用。在网站下载页面,鼠标点击就是选中状态,直接ctrl+c复制即可。
字体图标的代码样式调用
如此就是完整的字体图标使用过程。另外有阿里iconfont也可以使用,也是免费的。有兴趣可自行了解。
<style>
/* 字体声明 :从下载字体图标的文件夹中style.css文件上复制过来的*/
@font-face {
font-family: 'icomoon';
src: url('../images/icomoon/fonts/icomoon.eot?49yzcu');
src: url('../images/icomoon/fonts/icomoon.eot?49yzcu#iefix') format('embedded-opentype'),
url('../images/icomoon/fonts/icomoon.ttf?49yzcu') format('truetype'),
url('../images/icomoon/fonts/icomoon.woff?49yzcu') format('woff'),
url('../images/icomoon/fonts/icomoon.svg?49yzcu#icomoon') format('svg');
font-weight: normal;
font-style: normal;
font-display: block;
}
span {
font-family: 'icomoon';
font-size: 100px;
color: antiquewhite;
}
</style>
span标签的内容就是从字体图标上粘贴下来的
代码运行效果图
好了,今天的学习就到这里了,下回学习CSS三角~
*请认真填写需求信息,我们会在24小时内与您取得联系。