Web端中文字体自定义@font-face优化方案
网页都知道可以自定义字体,有些需要突出设计感的网页,不一样的字体是必不可少的。对于css3而言这也是个容易实现的功能,通过@font-face 属性即可自定义字体,然后直接使用font-family使用。
/*自定义字体类型*/ @font-face { font-family: "newname"; src:url("字体文件URL"); } /*使用*/ body{ font-family: "newname"; }
英文的字体还好说,一共也就二十六个字母,大小写全加上52个字母的设计,其字体库文件大不了哪去,可中文的字体库文件就不一样,少说常用中文字达上千,如果想要得到统一的视觉效果,这一千个字的字体就要重新设计,那么这样的字体库文件就会比较大,例如思源黑体的字体文件就有10.3M啦(window下的TTF)。
倘如再网页中用了思源黑体的字体设计网页,加载整个字体库文件显然会比较吃力,想象一下等待一个10m的文件下载,网页浏览者早就离开了。
对于一些网页设计而言,一些网页文字的设计又是必不可免的,那该怎么处理网页字体呢?
分两种情况来讲,一种是需要设计字体的文字是可控的,少量的;另一种是不可控的,比如新闻页都需要设计字体。
先说第一种,文字字数可控
这类比较常见是各种栏目标题,或者是单页里少数地方用到了设计的字体,这样的文字从个数和具体是哪些文字都是可以知道的,这样只需要从一个字体库文件里,把需要用到的字体提取出来,组成一个小字体库。
能够完成这一步,只需要一个工具-Fontmin,可以直接可视化实现提取字体库中文字生成一个小字体库。
使用也很简单,先将整个字体文件拖到左下方框框,再将具体需要到的文字复制在左方的大框框里,最后点击生成即可,这样生成一个小的字体库文件,就可以@font-face引入作为自定义字体使用。
第二种,字数无法控制
这类就是全局使用了设计字体,在网站的新闻页也使用了,你不能确定新闻会出现哪个文字,所以为了显示的统一,字体库只能是全体常用文字(也就是10m那般大小的字体库)。
对于这类的优化方案只能是尽量减少加载字体文件,或者减轻字体文件大小。
减少加载的原理是如果浏览者电脑里本身就有该字体,则不下载,这就需要了解@font-face里src里的local,可以加载客户端的字体,前提是知道其字体名称。
而减少字体文件大小,是转换字体文件的格式,这就跟一般情况下jpg的图片会比png的小原理一样。
对于比较新的字体格式woff2/woff会比otf/ttf格式的文件小。举个例子,还是上面的思源字体,转化为woff2为4.73m,而woff为6.67m,对比10.3m的ttf也是减少了不少。
woff(woff2)是针对web的字体格式,各浏览器支持程度不一,woff2比woff压缩更好但是要求浏览器版本更高,具体支持浏览器版本可以自行百度。一句话,优先用woff2,其次woff,都不支持用otf(ttf)。
如果只有TTF文件怎么转换成woff(woff2)文件呢?只需一个网站,操作很简单,选择从什么格式转换为什么格式,等待完成下载即可。
网页实际开发中应用
当网站全站使用了某一种字体时,应该怎么处理呢?在实际种这种情况虽然比较少,但是仍不可完全避免,本人就在做网页时遇到,这种情况为了减少字体库文件。我的办法是,先去下载一个常用字库,大概3500个左右,github上个收集好了的
下载下来得到一个TXT文件,然后在这个TXT文件里加上26个大小字母和0-9数字,这样基本上涵盖了会用到的文字,字母,数字;将其全部复制到Fontmin软件里,提取小的字库文件,这样就达到了减少字库文件的目的。
ps:如果后期在更新网站发现有文字先生异常,没有正确使用到字体,那么可以将这些字追加到TXT文件里,重复 复制-粘贴到Fontmin里去提取文字库;fontmin得到的文件没有woff2格式,如果觉得还不满意,可以再去上文提到的转换网站,在线转化为woff2格式。
总结
对于网页字体,如果文字可控,用fontmin缩小字体库,文字不可控,转换格式,自定义字体时优先加载客户端字体,客户端没有加载顺序woff2-woff-otf,css代码可以参考下方:
@font-face { font-family: "wow"; /*自定义名字*/ src: local("SOURCEHANSANSCN-LIGHT"), /* 优先local 加载本地*/ local("SOURCEHANSANSCN"), url("SourceHanSansCN-Light.woff2") format("woff2"), /* 优先 加载woff2*/ url("SourceHanSansCN-Light.woff") format("woff"), url("SOURCEHANSANSCN-LIGHT.OTF"); }
① 本站源码模板等资源SVIP用户永久不限量免费下载
② 所有资源来源于网络收集,如有侵权,请联系站长进行删除处理。
③ 分享目的仅供大家学习和交流,请不要用于商业用途,否则后果自负。
④ 如果你有源码需要出售,可以联系管理详谈。
⑤ 本站提供的源码、模板、插件等等资源,都不包含技术服务请大家谅解。
⑥ 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需。
⑦ 在您的能力范围内,为了大环境的良性发展,请尽可能的选择正版资源。
⑧ 网站资源绝不做任何二次加密或添加后门(原版加密除外)
- 需要积分的资源怎么下载?
- 您可以注册后签到等活跃动作获得积分,积分可下载,也可充值升级等级免费下载。
- 源码模板等文件安全吗?有没有后门病毒吗?
- 站内资源标有“已测试”标签的资源源码,表示已经在本地安装测试调试过才分享出来的,可以保证一定的安全;若不放心可以自行下载模板资源后使用D盾等查杀工具扫一遍确认安全。
- 本站网站模板等源码提供安装服务吗?
- 本站资源收集于网络并分享出来共同学习,不提供免费安装服务,模板源码安装等需要有一定熟悉度,小白用户可以下载资源后雇人安装调试。