关于web字体的那些事儿

   我曾与一位视觉设计师合作共同开发一款web应用。他提交给我的设计稿看起来非常带感,于是我根据他的设计稿,用HTML和CSS将web应用写了出来。当我以为一切都已完成,并且火急火燎地将产品给他看的时候,知道他说啥了么?

  “你全做错了。”

  的确。我并没有根据他的模型来使用字体,为此他专门把我叫出来并告诉我这是一个非常大的错误。我该如何弥补呢?

  “我不知道。但是目前它是最大的问题,毫无疑问。”

  说起来,在过去的很长一段时间里,我都同不同的网页设计师一起合作开发各种不同的网站,这使得我逐渐开始关注网页设计中的很多细小但重要的细节了,比如,字体。

  在此可以简单介绍一点背景知识。目前多数的网站都是基于HTML和CSS来开发的,如果你毫无网站开发经验,也许你有必要找个HTML&CSS的介绍视频学习一下,比如1小时创建一个体验不错的个人网站页面之类的教程。

  以下,是我的视觉设计师教授给我的字体知识。

  字体规格

  改变某写字体样式最简单的方式,是改变CSS的Font-family属性,然后,浏览器会直接读取用户电脑上的字体,想必每个网站开发者都明白这件事情。一般而言,一共有12种常见的网站安全字体,除开相对特殊的Comic Sans,还有11款字体可以供你在绝大多数类型的网站上随意使用。

  如果你的视线仅仅盯着这十来个字体就未免太局限了。如果你足够敏锐,你会有意识地调整字体的粗线(light、normal、bold)和字间距,追求更好的效果。举个例子,当你在导航栏中使用特粗的字体,紧凑的字体间距,会让你的网站看起来更加专业。相反,如果你使用的是极细的字体,网页会给人一种非常锐利、清晰的感觉。

  另一个使用字体的窍门,就是在CSS中为字体添加字体阴影属性。

  以下的案例中,字体家族被设定为Helvetica,并且字体粗细被设定为极细。


  这一字体的案例源自于我们的web应用Nomster。

  字体栈

  当你在指定要用什么字体的时候,你可以根据重要程度来设定一个顺序,越靠前的优先级越高。当设备中没有排名考前的字体的时候,那么系统会自动调用排名靠后的字体。这也就是为什么windows和Mac内置字体不尽相同,但是最终都能调用合适的字体而正常显示网页内容的原因所在。对于这个字体栈的设定,以下的工具/网站应该能帮到你:

  CSS Tricks – Font Stacks:这是一个拥有8个不同字体的字体栈,直接从CSS Tricks抓取这个字体栈,你的网站字体效果肯定不会像1995之前的网站那么残废。

  CSSFontStack.com:一个专业提供各种不同字体栈的网站,超过40种不同字体栈供你选择~

  当然,如果你通过谷歌和百度来搜索应该可以发现更多的字体栈。

  以下的使用案例同样来自我们的Web应用Nomster。它所使用的字体栈也是我们最喜欢的,因为它确实提高了网站的可读性。


  加载特定字体

  在web应用中使用特定字体来显示文本,是一件可行性很高的事情。你不必找一个“看起来很像”的字体来凑合,因为以下的方法可以帮你直接用你喜欢的字体:

  字体托管服务

  将一个普通字体加载到网站上,确实需要一点技巧。字体托管服务可以替你做到这一点,不过有的是免费的,有的是收费的。

  Google web Fonts:谷歌的字体服务还是非常靠谱的,整合了许多优质的web字体供你调用到网站中去。按照谷歌官方的指示,你可以轻松地在你的web应用中调用这些字体。

  当你想在网站中使用Garamond这个字体的时候,你如果使用字体栈来调用的话,可能会因为浏览器差异而无法正常使用,也可能因为本地字体而显示不正常,而使用谷歌字体中的“EB Garamond”则不存在这样的问题,它不会调用本地字库,而且大家电脑里面显示也会完全一样。


  谷歌字体服务是免费而易用的,并且会让不同的系统不同的浏览器都保持一致的体验,那为什么会有人考虑其他的方案呢?原因很简单。谷歌字体平台所收录的字体多数是相对更开放甚至是直接开源的字体,但是有很多杀手级字体的开发商并不愿意这么做。作为商品出售字体可以给这些开发商带来更大的利益,这使得你无法在谷歌字体平台上找到它们。当然,这个问题也是可以解决的。

  TypeKit :这个字体网站也是耳熟能详的大站。其中囊括了很多品质优秀的好字体,但是相信我,你看了会后悔的。为什么这么说?那些看起来优秀的字体并不便宜!基础的服务需要每年上交25美元,而高级版的每年需要交100美元!当然,如果不差钱的话,选择TypeKit也不错~

  所以,最好不要告诉与你合作的设计师,否则他们会逼着你整套整套得买字体的!(突然意识到这篇文章的读者会是设计师……)

  那么以上三种方案就是全部的解决方案了?别傻了,当然不止。谷歌字体是最著名的免费字体服务商,而TypeKit则是收费字体服务商中最流行的,你要用心找还有大把的字体托管服务商可供选择。

  自托管字体

  这是一种相对棘手的解决方案。因为这种方法的关键完全不在技术上,而是你得深入理解字体的授权和相关法律细节。

  当我们直接从用户的机器上调用字体,或者使用托管字体的时候,我们完全不用考虑太多,几行CSS代码会解决所有的问题。但是,当我们要自己托管字体的时候,就需要明白使用字体的权限和相应的授权细节了。

  比较高端的玩儿法是你在写代码的时候,告诉浏览器下载字体,并且告诉浏览器将去什么地方查找字体文件(或者多个版本的字体文件),然后告诉浏览器这些字体的名字分别是什么。同时也需要注意,这些字体的类型。常见的字体格式是EOT、OTF、WOFF、TTF、SVG等。不同浏览器惯于处理的字体格式可能不一样,所以最好你得准备好多种不同的字体供不同浏览器下载。

  所以,首先你要将你准备好的字体文件转化成多种不同格式的字体,比如,你准备好一个.ttf格式的字体,那么你需要将它转化成.woff、.otf、.svg等格式的字体,然后你就可以设定下载文件的位置、调用字体的相关信息了。

  令事情变得棘手的地方就在此了。考虑到你提供给了世界上每个人从你网站上下载字体的机会,那么当你将字体上传到服务器的那一刻开始,人们就可以肆无忌惮地将字体下载到他们的电脑上,分享给朋友甚至用到他们自己的网站上。这就是为什么很多字体开发商不想让他们的字体轻易用在网站上。

  因此当你需要下载一个用在自己的网站上的字体之时,你需要寻找授权可以用于网络且免费的字体(当然,不是用于桌面的那种)。

  FontSquirrel:这是一个我特喜欢的免费字体网站,他们的首页上有一些的超高质量免费字体,并且每个字体的字体许可都已经明确地标注了出来。


  在FountSquirrel上还有另外一个超赞的工具,那就是WebFont生成器。你可以将单个字体文件上传到生成器中,它会将其自动转化成你需要的其他字体,并且同时生成相应的CSS代码,可以供你直接插入到网站代码中。只要格式允许,WebFont都能转化,并不规定字体来源。

  除了免费字体,FontSquirrel还卖有大量的字体是收费的。

  以下便是来自FontSquirrel的字体“Pacifico”在我们的Nomster上应用的案例:


  MyFont.com同样会免费提供少量字体(但是其他字体会收费)的字体网站。当你在这个网站中搜索自己要的字体的时候,会发现其中绝大多数的字体都是需要你付费的,但是其中有些字体家族中特定粗细的字体是免费提供的,一定要仔细筛选。如果你人品好,真的能淘到好字体。

  最后,关于字体还有三件事情是需要了解的:

  1、不同的字体会赋予网站截然不同的感觉,把握好字体的细节就能掌控好网站的感觉;

  2、将字体加载到web应用中的方法有一大把,仔细筛选一种符合自己的;

  3、营造专业和炫酷的呈现效果固然重要,但是网站的最终目的还是传达信息,让人阅读的。所以在调整效果完之后,不妨猴退一步仔细审视一下,用户能否读到所有你写上去的文字。

时间: 2025-01-29 07:49:50

关于web字体的那些事儿的相关文章

Web字体格式介绍及浏览器兼容性一览

目前,文字信息仍是网站最主要的内容,随着CSS3技术的不断成熟,Web字体逐渐成为话题,这项让未来Web更加丰富多彩的技术拥有多种实现方案,其中之一是通过@font-face属性在网页中嵌入自定义字体,主流的浏览器都支持这项技术,本文介绍主要的几种Web字体格式及各浏览器兼容情况. Web字体格式介绍TrueType (.ttf) Windows和Mac系统最常用的字体格式,其最大的特点就是它是由一种数学模式来进行定义的基于轮廓技术的字体,这使得它们比基于矢量的字体更容易处理,保证了屏幕与打印输

CSS3之嵌入Web字体

   之前如果想在自己的网站使用某些好看的字体,总是迫不得已得在PS里先把字体图片做好.虽然这样做也能达到我们想要的效果,但是这样就增加了HTTP请求 (如果在多处使用的话),即使合并所有图片,也不好管理,灵活性不高,哪一天想换种更好看的字体,那工作量,想想都没劲!幸好CSS3新增了@font-face模块,可以帮助我们轻松解决Web页面中使用优雅字体的方式,而且我们可以根据需要自定义多种字体,但是每个@font-face只能定义一种,若需要多个字体就启用多个@font-face规则.     

免费程序IcoMoon:把矢量图转换成Web字体

文章描述:在这篇教程中,我们将看看如何使用一个免费的Web应用程序IcoMoon将矢量图转换成Web字体.然后在看看如何使用生成的字体通过css应用到Web页面中. 我已经制为网站制作了一些优雅的图标,并且在新的网站和老的iPad上进行了测试.正常尺寸下,布局看看上去一切OK,但的将页面进行放大显示,我却发现我的icon变得模糊不清,但是基于文本的标题依然清晰可见.在具有Retina显屏的iPad上,这些图标看上去都不清晰,即使在没有进行任何放大的情况之下. 我第一想法就是创建双倍大小的Spri

Google Web 字体 API 访谈

对很多纠结于字体的 Web 设计与开发者而言,昨天有关 Google Font API 的新 闻着实让他们高兴了一回,这个非常简单实用的 API 包含了一套字体库和预览工具,结合 Google 与 TypeKit 联合开发的开 源 WebFont 加载工具,Web 设计者们在自己的站点中引用个性字体变得轻而易举. Google Web 字体 API 的使用非常简单,只需从 Google 那里链接一个 CSS 文件并 在你自己的 CSS 定义中引用字体名即可,这里有一个演示可以参考.事实 上,Go

10个增强WEB字体排版的JQUERY插件

  虽然Web字体版式技术在各种定制化字体解决方案(比如@font-face, Google Fonts)的支持下一路蓬勃发展,但是在我们在设计和桌面app开发中仍然对其缺少精准的控制和把握.还好有一系列的强大功能jquery插件帮助我们解决这个问题.这篇文章详细介绍了近10个最流行的Web字体版式插件,它们允许我们润色字体版式并创造出更多超级酷的效果. 不得不说,网站本身也创意十足,个性满满哟:) Lettering.js Lettering.js 是最简单最流行的网络版式插件之一.通过分拆每

如何把你的图标转换成WEB字体

  我已经制为网站制作了一些优雅的图标,并且在新的网站和老的iPad上进行了测试.正常尺寸下,布局看看上去一切OK,但的将页面进行放大显示,我却发现我的icon变得模糊不清,但是基于文本的标题依然清晰可见.在具有Retina显屏的iPad上,这些图标看上去都不清晰,即使在没有进行任何放大的情况之下. 我第一想法就是创建双倍大小的Sprite图,然后通过css样式,设置他们只显示二分之一尺寸.虽然这样的方法让他们在Retina屏上显示的大小是正常的,一旦你开始放大屏幕,图标又变得模糊不清.但文本还

Web字体应用修炼之道(上)

故事的起源,要从UED界两大种族前端设计师和视觉设计师的爱恨说起: 设计师的视觉稿: 前端开发出来的真实效果: 于是战争爆发了: 像这种视觉效果不一致问题,在日常开发中比比皆是.最近遇到的比较多的是字体问题,开了写轮眼的设计师经常抱怨手机上的字体跟设计稿不一致,前端只能无奈的回一句手机上没这字体啊...然而实际情况远比这个复杂,正义的王二小见此情况决定挺身而出,踏上了Web字体修真之路,来寻找传说中的最优解. 从0开始 这将是一次冒险,我们从0开始探索网页中的文字是如何一步步呈现在我们眼前的.计

《HTML5+CSS3网页设计入门必读》——6.4 使用Web字体

6.4 使用Web字体 在上一节中,看到我们十分确信所用的字体系列驻留在每个人的计算机上.也就是说,可以保证大多数计算机都会呈现Arial或Times New Roman,或者具有用于serif和sans-serif的所必需的默认字体,如果这是样式表所需要的话.但是,利用CSS3中包括的@font-face特性,甚至可以对在线放置的内容发挥更大的设计能力. 简而言之,@font-face特性允许在HTML5标记中定义要使用的字体,使得无论用户是否在他们的计算机上安装了那些字体(并且很有可能用户没

浅析Web 字体的未来

中介交易 http://www.aliyun.com/zixun/aggregation/6858.html">SEO诊断 淘宝客 云主机 技术大厅 一直以来,Web 字体背着单调的恶名,因为想在网页上显示一种字体,该字体文件本身必须存在于用户的电脑中,由于这个限制,加上 Web 用户可能分散于各种操作系统,只有那些在各种环境都普遍存在的字体才会被用于网页. CSS 可能为这个问题带来一线曙光,CSS 包含一个 @font-face 定义,你可以指定一种位于某个 Web 服务器上的 Tru