为什么我们还需要网页安全字体(Why We Still Need Web-safe Fonts)

在网页发展的初期, 是没有一种标准的字体可以完全的实现跨平台. 但是会有一些常用的字体像 Arial, Helvetica 和 New Roman 会被安装在大多数的个人电脑中, 这些流行的系统字体就被称为 网页安全字体. 要在网页设计的实例中坚持使用它们

但是现在发生了一些改变, 使用网络字体才是安全的. 网络字体是一种通过@font-face去加载显示远程字体的一种技术, 这给我们带来创造性的自由和更加广泛的字体选择

@font-face 规则已经存在了近13年之久 最早在IE5.5中出现并提供支持

@font-face也正式地被包含在W3C的CSS最新版本(CSS3) 很多现代的浏览器(Chrome Safari IE FireFox )都提供支持

通过一些像 Google Fonts API 这样的服务 实现网络字体是非常简单的, 例如使用 Google Font 只要两行CSS代码就可以在大多数的浏览器里显示一种相对陌生的字体(像Bigelow Rules)

@import url(http://fonts.googleapis.com/css?family=Bigelow+Rules);
body { font-family: ‘Bigelow Rules‘; }

尽管@font-face可以有接近完美的支持和表现 但是作为一个好的实例 我们仍然需要使用CSS字体集 不仅如此 我们的CSS字体集还需要包括网页安全字体和通用字型像 sans-serif 和 serif

例如 即使我们在使用Google‘s web font 服务里最流行的字体 (Open Sans) 我们仍然需要使用包含 网页安全字体的 CSS字体集 在字体集的最后一个是一个通用字型(sans-serif)

body {font-family: "Open Sans", "Arial", "Helvetica", sans-serif; }

在Chroem时 向后渲染字体的顺序如下

像上面所说的 用一个好的字体集可以避免当我们的所选的字体不可以加载的时候 让我们的HTML文本有一个优雅的向后过渡

为什么我们仍然需要网页安全字体集(Why We Still Need a Web-safe Font Stack)

网页安全字体和CSS字体集在网页实际运用中好像很过时 尤其是在@font-face有很好的支持的之后

现在接近90%的用户在使用支持@font-face的浏览器

但如果你曾经想过丢弃你的CSS字体集 下面的几个原因可能会改变你的想法

不完善的字体(Incomplete Fonts)

如果某种字体中的某个字符不可用, 浏览器会尝试去以你字体集里的下一种字体去显示那些字符 但如果你没有字体集 那么浏览器则会用它默认的字体

例如 Libre Baskerville 字体没有 TM 这个字符

下面的每一个例子是没有写CSS字体集的, 而第二个则有Time New Roman 和 serif 在CSS字体集中

至少如果有了这个字体集 TM字符 显示得更像  Libre Baskerville 字体

网络问题(Netword Issues)

通过@font-face加载远程字体需要网络连接, 如果负责字体服务的网络不可用或者暂时的维护 浏览器会使用他的默认字体 除非你在你的CSS字体集里添加了网页安全字体

在Chrome里 浏览器的默认字体是 Times New Roman

例如 这个网页设计用的是 PT Sans 字体

如果你没有字体集的同时网络中断 然后网页就会变成这个(Chrome)

网页看起来完全不一样是因为Time New Roman大大影响了这个设计的信息

但如果我们用了包括网页安全字体的字体集 我们可以减缓这个网络带来的问题

font-family: "PT Sans", "Helvetica", "Arial", sans-serif;

@font-face可以在客户关闭(@font-face Can Be Turned Off Client-Side)

一些浏览器可以提供选项禁止下载字体文件

大多数情况下 禁止浏览器使用远程字体会导致混乱 但是却是有可能的

为什么有人想要去禁止使用远程字体 为了加快网页的加载速度 特别是对那些网速慢的用户尤其有效

为了证明网页字体对对网页性能的影响 我们用一种叫 Lobster Two 的字体加载以下网页

<html>
<head>
<link href=‘http://fonts.googleapis.com/css?family=Lobster+Two:400,400italic,700,700italic‘ rel=‘stylesheet‘ type=‘text/css‘>
<style>
body { font-family:"Lobster Two"; }
</style>
</head>
<h1>Display Font</h1>
</html>

(测试过程没有翻译)

平均加载时间为1.3秒

这意味着我们打开这个网页 要1.3秒后才可以看到文字 因为Chrome的默认行为是当字体在加载时不显示任何文本

使用宽带从Google服务器上下载字体文件要平均1.3秒 想一想如果在更不理想的环境下会加载多长时间 例如用手机网络或者和共享网络

不使用网络字体 完成加载同样的网页平均需要0.012秒 这意味着字体的影响加载时间达到10733% 为了在不是非常重要的网页内容中显示一种新奇的字体,这无疑是一个巨大的代价 这就是为什么有一些用户禁止使用远程加载字体文件

在用户选择禁止加载远程字体文件的情况下 如果我们想要尽量减少对我们网页设计的影响 我们就应该在字体集中使用网页安全字体

网页安全字体 = 便宜的, 简单地实现优雅的性能下降 (Web-safe Fonts = Cheap and Easy Graceful Degradation)

虽然很少 但还是有一些浏览器不支持@font-face 特别是一些旧的浏览器

前面我也有提过 90%的用户在用支持@font-face的浏览器

没有包括网页安全字体和通用字型的字体集意味着我们将丢失了那至少10%的用户

写一个简单的包括网页安全字体的字体集需要的时间和精力都是非常少的 所以我们没有理由不继续这样做

转自http://sixrevisions.com/web-standards/why-we-still-need-web-safe-fonts/

如有错误 欢迎更正 : )

时间: 2024-10-12 19:15:17

为什么我们还需要网页安全字体(Why We Still Need Web-safe Fonts)的相关文章

WEB安全字体(Web Safe Fonts)-网页设计用什么字体兼容性好?

效果:http://sandbox.runjs.cn/show/qgdljvh4 1 Arial微软公司的网页核心字体之一,最常用的sans serif字体,当字号很小时不容易阅读.但是,大写的“I”和小写的“l”是无法区别的,你可以考虑用Tahoma字体来替代.(苹果系统没有这种字体,但有一种对应于Arial的字体叫Helvetica,它是MAC机上与Arial 字体最相似的WEB字体,是别一种非衬线字体.它是一种性能优良的打印字体,但在屏幕上表现不是很好,说道Helvetica字体,昨天发现

网页设计中常用的19个Web安全字体

在Web编码中,CSS默认应用的Web字体是有限的,虽然在新版本的CSS3,我们可以通过新增的@font-face属性来引入特殊的浏览器加载字体.但多数情况下,考虑各个因素的影响我们还是在尽量充分利用这些默认调用的字体实现CSS的编写,这里整理了19个Web安全字体,让你无需任何顾虑的情况下畅快使用. 1,  Arial 微软公司的网页核心字体之一,最常用的sans serif字体,当字号很小时不容易阅读.但是,大写的“I”和小写的“l”是无法区别的,你可以考虑用Tahoma字体来替代.(苹果系

解决Ubuntu下Chrome浏览器网页中文字体混乱

在Ubuntu下使用Chrome浏览器时碰到了网页中文字体混乱的现象: 黑体和楷体混杂,看起来非常不美观. 这是由于许多网页并没有指定字体,然后浏览器将调用系统默认字体配置. 首先,安装文泉驿字体: sudo apt-get install ttf-wqy* 编辑字体设置 sudo gedit /etc/fonts/conf.avail/69-language-selector-zh-cn.conf 可以设置字体的优先级,个人比较喜欢文泉驿正黑(WenQuanYi Zen Hei) 最后,重启电

我给女朋友讲编程CSS系列(3) CSS如何设置字体的类型、大小、颜色,如何使用火狐浏览器的Firebug插件查看网页的字体

一.CSS如何设置字体的类型.大小.颜色 设计网页时,一般设置body的字体,让其他标签继承body的字体,这样设置特别方便,但是标题标签h1到h6和表单标签(input类型)是没有继承body的字体属性的,它们的字体需要单独设置. 1,  新建一个网页a.html,把下面的代码复制进去. <html> <head> <style type="text/css"> body { font-family : 微软雅黑,宋体; font-size : 1

[转] 网页常用字体

Georgia ABCDEFGHIJKLMNOPQRSTUVWXYZ (26px) abcdefghijklmnopqrstuvwxyz 0123456789 ABCDEFGHIJKLMNOPQRSTUVWXYZ (22px) abcdefghijklmnopqrstuvwxyz 0123456789 Impact ABCDEFGHIJKLMNOPQRSTUVWXYZ (26px) abcdefghijklmnopqrstuvwxyz 0123456789 ABCDEFGHIJKLMNOPQRS

中文网页的字体

本站字体按照如下设置,正文字体大小采用18px,文档采用MARKDOWN编辑. 在 Web 上应用字体是一项基本技术,同时也是一门艺术.对于英文字体来说可选择的范围实在是太广泛了,合理的使用它们将会为你的网站增色不少.关于英文字体的使用和搭配技巧,在这里不做赘述,只推荐一套非常好的视频:Fundamentals of Design by CodeSchool {{more}} 而真正的挑战在于中文字体,由于中文字体组成的特殊性导致其体积过于庞大,除了操作系统内置的字体之外,我们很难在网站上应用其

Font-Spider 一个神奇的网页中文字体工具,就是这么任性

文章摘要:    1>>  font-spider 字体神奇 由于活动项目推广的需要,页面需要用到一些漂亮好看的字体,example : 邯郸-韩鹏毛遂体.ttf. 方正喵呜.ttf 我看了一些好看的测试活动页面的demo,页面的(问题和答案)都是直接切成的小图片,我看了也是楞了,难怪这么好看.于是本想着也这么做,结果发现了一个很严重的问题. 我计算了一下,我们的问题大概有60道,而每道题的答案有3.4.5个,算了一个下,如果是切成小图片来维护的话,至少也得有: 60*4=240 张图片吧.于

Text Autosizer&amp;&amp;解决移动端网页文本字体怪异增大问题

在做移动端页面时,有时你设置了字体大小,有的部分即使设置了行内样式也不生效,而有些显示正常,这个特性就是Text Autosizer在搞鬼. 以下是解决方案: ①给元素设置 -webkit-text-size-adjust: none;可禁用Text Autosizer,这个属性还能使得我们在移动端使用小于12px的字体.此属性在桌面版中无效. ②设置最大高度 max-height: 999999px; 总结来源:https://segmentfault.com/a/11900000071776

网页背景字体学习

2016年10月28日下午 一.bgcolor的学习.所有属性都是在其里面进行操作才可有效果的. ①<bgcolor="#颜色" text="网站字体颜色" back ground="网页背景图片"></bgcolor> 二.格式控制类 font ①<font face="字体" size="字体大小" color="文字颜色"></font&g