字蛛(font-spider)让你爱上 @font-face 网页自定义字体

简介:

随着当前Web技术的日新月异,网页界面内容越来越丰富,让人眼花缭乱,其中就包括了网页中的各种自定义字体


例如:一个注册页面的“注册会员”几个字

wKiom1fdSTvyDqWdAAAyA0T-ru0890.png

CSS3引入的@font-face 这一属性可以很好的解决这个问题,可以帮助我们非常灵活的使用一些特殊的字体,即使用户电脑里面没有安装这个字体,网页也可以显示。


EOT字体是IE浏览器的首选格式,其他浏览器都不支持;其他浏览器更钟爱常见的TTF、SVG、WOFF


基本语法:

@font-face { 
font-family: <family-name>;  <自定义一个字体的名称>
src: url(sansation_light.woff);  <下载好的字体,在电脑中保存的路径>
[ font-variant: <font-variant>; ]
[ font-stretch: <font-stretch>; ]
[ font-weight: <weight>; ]
[ font-style: <style>; ]
}
[... : ...] 方括号部分的属性表示可选

比如:

@font-face {

  font-family: 'fangzheng';

  src: url('../font/fangzheng.eot'); /*IE9+*/

  src: url('../font/fangzheng.woff') format('woff'),

        url('../font/fangzheng.ttf') format('truetype'),

url('../font/fangzheng.eot?#iefix') format('embedded-opentype'); /*IE6 - IE8*/

  font-weight: normal;

  font-style: normal;

}


.modal-content h3{

    text-align:center;

    font-family:fangzheng;

    font-size:30px;

    color:#333F55;

}


测试效果:Chrome,Firefox,IE7-IE11均可以实现

wKioL1ffs9bxaTe3AAAJOqPkWy8001.png



这里有一个专门用于字体在线转换的网站  http://www.fontsquirrel.com/fontface/generator 


fontsquirrel 网站提供了一个免费的 @font-face Kit Generator工具,可以生成不同的字体格式,并且直接用css和html给出demo。使你可以直接引用到你的网站上。你可以直接使用 fontsquirrel 网站提供 的一些字体,也可以上传你自己的字体还是用。 

(转换好的字体):

wKioL1gz3YXyVCgXAABSFMl5eik239.png


使用字蛛(FontSpider)压缩器

可能你已经发现了,自定义字体最大的弊端就是耗费资源,一个字体可能就占到了2~4M不等的内存,让人得不偿失,我们现在看一个例子:


》目录结构:

wKiom1gz23uDWdUSAAAVpsvRHKU898.png


》HTML代码:

1
2
3
4
5
6
7
8
9
10
11
12
<!DOCTYPE html>
< html >
< head  lang = "en" >
     < meta  charset = "UTF-8" >
     < title ></ title >
     < link  rel = "stylesheet"  href = "css/fonts.css" >
     < link  rel = "stylesheet"  href = "css/main.css" >
</ head >
< body >
< h1 >字蛛-自定义字体</ h1 >
</ body >
</ html >


》CSS代码:把自定义字体部分单独放在一个css文件中,把自定义的字体转换好以后单独放到fonts文件夹中:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
/*********************************     fonts.css        ***************************/
@font-face {
     font-family : 'FZLB' ;
     src : url ( '../fonts/FZLBJW.TTF.eot' );
     src : url ( '../fonts/FZLBJW--GB1-0.woff' format ( 'woff' ),
         url ( '../fonts/FZLBJW--GB1-0.ttf' format ( 'truetype' ),
         url ( '../fonts/FZLBJW--GB1-0.svg' format ( 'svg' ),
         url ( '../fonts/FZLBJW.TTF.eot?iefix' format ( 'embedded-opentype' );
}
 
/*********************************     main.css        ***************************/
h 1 {
     font-family : 'FZLB' ;
     font-size : 36px ;
}


页面效果截图:

wKioL1gz14eSKNUeAADQ2kRSPuA388.png

我们可以看到,仅仅4个请求就占用了2.1MB,耗时249ms,这对网页的性能是极大的损耗


字蛛,可以很好的解决这个问题,一起看看使用方法:


1、安装node管理包,如果不会的话,可以参考这个链接 http://dapengtalk.blog.51cto.com/11549574/1867313


2、在命令行工具中输入:npm install font-spider -g

(这个是安装成功的界面截图,安装耗时较长,大概10分钟左右,请耐心等待)

wKiom1gz2pPgNOYsAAA0cMvU4QA371.png


3、运行font-spider命令:font-spider <css文件路径名>

wKioL1gz2qjwLVnaAAAqXYQGCNY961.png

再次刷新页面,打开控制台,在network中查看

wKioL1gz2suSwuEsAADb0u1vRwY783.png


我们可以清楚的看到,文件传输大小已经从2.1MB 变成了 5.4KB,非常令人兴奋


另外有几个字体网站也可供参考:https://onlinefontconverter.com/   www.fontsquirrel.com   http://www.qiuziti.com/


这里有几篇非常详细的博文,可供学习,同时感谢博主 

http://www.w3cplus.com/content/css3-font-face

http://www.w3cways.com/1738.html


字蛛中文压缩器

http://www.w3cways.com/1768.html


快如闪电的字体加载技术

http://www.w3cways.com/1777.html


本文转自   frwupeng517   51CTO博客,原文链接:http://blog.51cto.com/dapengtalk/1854181
相关文章
|
JSON JavaScript 前端开发
设置WebStorm像VSCode一样每行代码结尾自动格式化加入“;”分号(JavaScript、TypeScript格式化)
设置WebStorm像VSCode一样每行代码结尾自动格式化加入“;”分号(JavaScript、TypeScript格式化)
|
数据可视化 前端开发 JavaScript
可视化工具D3.js
可视化工具D3.js
513 2
|
机器学习/深度学习 人工智能 编解码
|
存储 前端开发 JavaScript
Web前端主题色更换实现方式全解析(一)
Web前端主题色更换实现方式全解析(一)
474 1
|
Web App开发 前端开发 UED
移动端适配布局指南:打造完美用户体验的秘密武器
【8月更文挑战第26天】在Web前端开发中,选择合适的移动端适配方案对确保跨设备的良好显示与用户体验至关重要。常用方案包括:媒体查询实现响应式布局;百分比、flexbox与CSS Grid布局提供更灵活的设计;结合viewport元标签和rem单位实现等比缩放;利用第三方库如Bootstrap加速开发。实践中应综合运用这些技术,并通过广泛测试保证兼容性和效果。
519 4
|
JavaScript
js 判断字符串是否包含中文,判断字符串是否全是中文,判断字符是否为中文
js 判断字符串是否包含中文,判断字符串是否全是中文,判断字符是否为中文
1125 0
|
编解码 前端开发 开发者
探索前端开发中的响应式设计与适配方案
在当今互联网时代,移动设备的普及使得前端开发中的响应式设计和适配变得愈发重要。本文将深入探讨前端开发中的响应式设计原则和各种适配方案,帮助开发者优化用户体验,提升网页在不同设备上的表现。
|
前端开发
【面试题】说说你对 async和await 理解
【面试题】说说你对 async和await 理解
273 0

热门文章

最新文章