如何选字体(font-family)
一、默认字体情况
1、Window下:
宋体(SimSun):Win下大部分游览器的默认字体,
宋体
在小字号下(如12px、14px)的显示效果还可以接受,但是字号一大就非常糟糕了,所以使用的时候要注意。微软雅黑("Microsoft Yahei"):从 Vista 开始,微软提供了这款新的字体,一款无衬线的黑体类字体,并且拥有 Regular、Bold 两种粗细的字重,显著提高了字体的显示效果。现在这款字体已经成为Windows游览器中最值得使用的中文字体。从Win8开始,
微软雅黑
又加入了 Light 这款更细的字重,对于喜欢细字体的设计、开发人员又多了一个新的选择。Arial:Win平台上默认的无衬线西文字体(为什么要说英文字体后面会解释),有多种变体,显示效果一般。
Tahoma:十分常见的无衬线字体,被采用为Windows 2000、Windows XP、Windows Server 2003及Sega游戏主机Dreamcast等系统的预设字型,显示效果比
Arial
要好。Verdana:无衬线字体,优点在于它在小字上仍结构清晰端整、阅读辨识容易。
结论:
微软雅黑
为Win平台上最值得选择的中文字体,但非游览器默认,需要设置;西文字体的选择以Arial
、Tahoma
等无衬线字体为主。
2、Mac OS下:
华文黑体(STHeiti)、华文细黑(STXihei):属于同一字体家族系列,OS X 10.6 之前的简体中文系统界面默认字体,也是目前Chrome游览器下的默认字体,有 Regular 和 Bold两个字重,显示效果可以接受,
华文细黑
也曾是我最喜欢的字体之一。黑体-简(Heiti SC):从 10.6 开始,
黑体-简
代替华文黑体
用作简体中文系统界面默认字体,苹果生态最常用的字体之一,包括iPhone、iPad等设备用的也是这款字体,显示效果不错,但是喇叭口设计遭人诟病。冬青黑体( Hiragino Sans GB ):听说又叫
苹果丽黑
,日文字体Hiragino KakuGothic
的简体中文版,简体中文有 常规体 和 粗体 两种,冬青黑体
是一款清新的专业印刷字体,小字号时足够清晰,拥有很多人的追捧。Times New Roman:Mac平台Safari下默认的字体,是最常见且广为人知的西文衬线字体之一,众多网页浏览器和文字处理软件都是用它作为默认字体。
Helvetica、Helvetica Neue:一种被广泛使用的传奇般的西文字体(这货还有专门的记录片呢),在微软使用山寨货的
Arial
时,乔布斯却花费重金获得了Helvetica
苹果系统上的使用权,因此该字体也一直伴随着苹果用户,是苹果生态中最常用的西文字体。Helvetica Neue
为Helvetica
的改善版本,且增加了更多不同粗细与宽度的字形,共拥有51种字体版本,极大的满足了日常的使用。苹方(PingFang SC):在Mac OS X EL Capitan上,苹果为中国用户打造了一款全新中文字体--
苹方
,去掉了为人诟病的喇叭口,整体造型看上去更加简洁,字族共六枚字体:极细体、纤细体、细体、常规体、中黑体、中粗体。San Francisco:同样是Mac OS X EL Capitan上最新发布的西文字体,感觉和
Helvetica
看上去差别不大,目前已经应用在Mac OS 10.11+、iOS 9.0+、watch OS等最新系统上。结论:目前
苹方
和San Francisco
为苹果推出的最新字体,显示效果也最为优雅,但只有最新系统才能支持,而黑体-简
和Helvetica
可以获得更多系统版本支持,显示效果也相差无几,可以接受。
3、Android系统:
Droid Sans、Droid Sans Fallback:
Droid Sans
为安卓系统中默认的西文字体,是一款人文主义无衬线字体,而Droid Sans Fallback
则是包含汉字、日文假名、韩文的文字扩展支持。结论:
Droid Sans
为默认的字体,并结合了中英文,无需单独设置。
4、iOS系统:
iOS系统的字体和Mac OS系统的字体相同,保证了Mac上的字体效果,iOS设备就没有太大问题。
5、Linux:
文泉驿点阵宋体:类似
宋体
的衬线字体,一般不推荐使用。文泉驿微米黑:几乎是 Linux 社区现有的最佳简体中文字体。
二、选择字体需要注意的问题
1、字体的中英文写法:
我们在操作系统中常常看到宋体
、微软雅黑
这样的字体名称,但实际上这只是字体的显示名称,而不是字体文件的名称,一般字体文件都是用英文命名的,如SimSun
、Microsoft Yahei
。在大多数情况下直接使用显示名称也能正确的显示,但是有一些用户的特殊设置会导致中文声明无效。
因此,保守的做法是使用字体的字体名称(英文)或者两者兼写。如下示例:
font-family: STXihei, "Microsoft YaHei";
font-family: STXihei, "华文细黑", "Microsoft YaHei", "微软雅黑";
2、声明英文字体:
绝大部分中文字体里都包含英文字母和数字,不进行英文字体声明是没有问题的,但是大多数中文字体中的英文和数字的部分都不是特别漂亮,所以建议也对英文字体进行声明。
由于英文字体中大多不包含中文,我们可以先进行英文字体的声明,这样不会影响到中文字体的选择,因此优先使用最优秀的英文字体,中文字体声明则紧随其次。如下示例:
font-family: Arial, "Microsoft YaHei";
3、照顾不同的操作系统:
英文、数字部分:在默认的操作系统中,Mac和Win都会带有
Arial
,Verdana
,Tahoma
等几个预装字体,从显示效果来看,Tahoma
要比Arial
更加清晰一些,因此字体设置Tahoma
最好放到前面,当找不到Tahoma
时再使用Arial
;而在Mac中,还拥有一款更加漂亮的Helvetica
字体,所以为了照顾Mac用户有更好的体验,应该更优先设置Helvetica
字体;Android系统下默认的无衬线字体就可以接受,因此无需单独设置。最后,英文、数字字体的最佳写法如下:
font-family: Helvetica, Tahoma, Arial;
中文部分:在Win下,
微软雅黑
为大部分人最常使用的中文字体,由于很多人安装Office的缘故,Mac电脑中也会出现微软雅黑字体,因此把显示效果不错的微软雅黑
加入到字体列表是个不错的选择;同样,为了保证Mac中更为优雅字体苹方(PingFang SC)
、黑体-简(Heiti SC)
、冬青黑体( Hiragino Sans GB )
的优先显示,需要把这些字体放到中文字体列表的最前面;同时为了照顾到Linux操作系统的体验,还需要添加文泉驿微米黑
字体。最后,中文字体部分最佳写法如下:
font-family: "PingFang SC", "Hiragino Sans GB", "Heiti SC", "Microsoft YaHei", "WenQuanYi Micro Hei";
中英文整合写法:
font-family: Helvetica, Tahoma, Arial, "Heiti SC", "Microsoft YaHei", "WenQuanYi Micro Hei";
font-family: Helvetica, Tahoma, Arial, "PingFang SC", "Hiragino Sans GB", "Heiti SC", "Microsoft YaHei", "WenQuanYi Micro Hei";
4、注意向下兼容
如果还需要考虑旧版本操作系统用户的话,不得不加上一些旧版操作系统存在的字体:Mac中的华文黑体
、冬青黑体
,Win中的黑体
等。同样按照显示效果排列在列表后面,写法如下:
font-family: Helvetica, Tahoma, Arial, "PingFang SC", "Hiragino Sans GB", "Heiti SC", STXihei, "Microsoft YaHei", SimHei, "WenQuanYi Micro Hei";
加入了 STXihei(华文细黑)
和 SimHei(黑体)
。
5、补充字体族名称
字体族大体上分为两类:sans-serif(无衬线体)
和serif(衬线体)
,当所有的字体都找不到时,我们可以使用字体族名称作为操作系统最后选择字体的方向。一般非衬线字体在显示器中的显示效果会比较好,因此我们需要在最后添加 sans-serif
,写法如下:。
font-family: Helvetica, Tahoma, Arial, "PingFang SC", "Hiragino Sans GB", "Heiti SC", "Microsoft YaHei", "WenQuanYi Micro Hei", sans-serif;
三、我们看一下大公司的常见写法
1、小米
font: 14px/1.5 "Helvetica Neue",Helvetica,Arial,"Microsoft Yahei","Hiragino Sans GB","Heiti SC","WenQuanYi Micro Hei",sans-serif;
小米公司优先使用Helvetica Neue
这款字体以保证最新版本Mac用户的最佳体验,选择了Arial
作为Win下默认英文字体及Mac的替代英文字体;中文字体方面首选了微软雅黑
,然后选择了冬青黑体
及黑体-简
作为Mac上的替代方案;最后使用文泉驿微米黑
兼顾了Linux系统。
2、淘宝
鉴于淘宝网改版频率较频繁,这里截图保存了一下,点此查看。
font: 12px/1.5 tahoma,arial,'Hiragino Sans GB','\5b8b\4f53',sans-serif;
其实从图中明显看出淘宝网的导航及内容有着大量的衬线字体,鉴于淘宝网站大部分字号比较小,显示效果也还可以接受。代码中可以看出淘宝使用了Tahoma
、Arial
作为首选英文字体,中文字体首选了冬青黑体
,由于Win下没有预装该款字体,所以显示出了后面的宋体(5b8b4f53
为汉字宋体
用 unicode 表示的写法,不用SimSun
是因为 Firefox 的某些版本和 Opera 不支持 SimSun
的写法)
3、简书
font-family: "lucida grande", "lucida sans unicode", lucida, helvetica, "Hiragino Sans GB", "Microsoft YaHei", "WenQuanYi Micro Hei", sans-serif;
自认为简书的阅读体验很棒,我们看看简书所用的字体,简书优先选择了lucida
家族的系列字体作为英文字体,该系列字体在Mac和Win上都是预装的,并且有着不俗的表现;中文字体方面将冬青黑体
作为最优先使用的字体,同样考虑了Linux系统。
各大公司的字体设置大同小异,这里不再一一举例查看,有兴趣的可以自己多多查看。
四、其他的一些注意点
1、字体何时需要添加引号
当字体具体某个取值中若有一种样式名称包含空格,则需要用双引号或单引号表示,如:
font-family: "Microsoft YaHei", "Arial Narrow", sans-serif;
如果书写中文字体名称为了保证兼容性也会添加引号,如:
font-family: "黑体-简", "微软雅黑", "文泉驿微米黑";
2、引用外部字体
大多数的中文字体由于版权原因不能随意使用,这里推荐一个免版权而且漂亮的中文字体思源黑体
,该字体为Adobe与Google推出的一款开源字体, 有七种字体粗细(ExtraLight、Light、Normal、Regular、Medium、Bold 和 Heavy),完全支持日文、韩文、繁体中文和简体中文,字形优美,依稀记得小米公司好像有使用过。
鉴于中文字体的体积比较大(一般字库全一点的中文字体动辄几Mb),所以较少人会使用外部字体,如果真的需要引入,也可以考虑通过工具根据页面文字的使用多少单独生成中文字体,以减小文件大小。
五、最后,推荐写法
由于每个人的审美不一样,钟爱的字体也会有所有不同,这里给出我个人的常用写法:
font-family: "Helvetica Neue", Helvetica, Arial, "PingFang SC", "Hiragino Sans GB", "Heiti SC", "Microsoft YaHei", "WenQuanYi Micro Hei", sans-serif;
如何选字体(font-family)的更多相关文章
- W3School-CSS 字体(font)实例
CSS 字体(font)实例 CSS 实例 CSS 背景实例 CSS 文本实例 CSS 字体(font)实例 CSS 边框(border)实例 CSS 外边距 (margin) 实例 CSS 内边距 ...
- Android Studio 3.1.2 修改字体(font)大小(size) 及老版本修改主题、字体、颜色 参照地址
Android Studio 3.1.2 修改字体(font)大小(size) 步骤:File-Settings-Editor-Color Scheme-Color Scheme Font-Size ...
- CSS 字体(font)实例
CSS 字体(font)实例CSS 字体属性定义文本的字体系列.大小.加粗.风格(如斜体)和变形(如小型大写字母).CSS 字体系列在 CSS 中,有两种不同类型的字体系列名称: 通用字体系列 - 拥 ...
- java 引入自定义字体font后出现的硬盘吃光的问题
有个需求要用美术字体在图片上写字 用自定义的文字有两个方法: 1. Font dynamicFont = Font.createFont(Font.TRUETYPE_FONT, InputStream ...
- 【BO】为WEBI报表添加自定义字体font
本篇主要讲解如何为sap business objects 的web intelligence报表组件新增字体.因为系统默认预设的字体对中文而言实在是太丑了,有的字体特喵的直接把中文变成方框框了! 一 ...
- 【CSS3】字体font
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...
- Android studio修改字体(font)大小(size)
Android Studio 默认编辑器(Editor)的方案(Scheme)是无法修改字体的, 可以Save as, 保存为新的方案(Scheme), 然后更改字体大小; 位置: File-> ...
- PyQt(Python+Qt)学习随笔:Qt Designer中部件的调色板palette属性和字体font属性设置
一.调色板 在Qt Designer的部件属性中,有个部件调色板(palette)的属性,进入后,如下图所示: 1.调色板palette Qt中提供的调色板palette用于管理控件的外观显示,对应P ...
- 字体 font typograph
https://en.wikipedia.org/wiki/Typeface *** 字体渲染 https://www.smashingmagazine.com/2012/04/a-closer-lo ...
随机推荐
- 使用apply调用函数
实现函数 calllt,调用之后满足如下条件1.返回的结果为调用fn之后的结果2.fn的调用为calllt的第一个参数之后的全部参数 方法1 使用es6 function calllt(...para ...
- android 开发学习3
DAO:DATA ACCESS OBJECT getApplication()和MainActivity.this 是两种不同的context,也是最常见的两种.第一种中context的生命周期与Ap ...
- UVA - 1611 Crane(起重机)(贪心)
题意:输入一个1~n(1<=n<=10000)的排列,用不超过9^6次操作把它变成升序.每次操作都可以选一个长度为偶数的连续区间,交换前一半和后一半. 提示:2n次操作就足够了. 分析:从 ...
- EUI库 - 皮肤
皮肤分离机制 皮肤分离机制对制作可复用的外观比较有优势 那对于只使用一次的皮肤呢?如果也拆分出两个文件,显然不太方便.这里我们针对单次使用的皮肤定制了内部类的功能 每个组件都有一个chi ...
- java虚拟机之JVM体系结构
JVM体系结构: 下面重点介绍运行时数据区域模块: (1)java堆(Heap) 被所有线程共享的一块内存区域,在虚拟机启动时创建 用来存储对象实例 可以通过-Xmx和-Xms控制堆的大小 OutOf ...
- AD软件将PCB中的元器件旋转45度
- Java SE 5.0(JDK 1.5)新特性
目录 自动装箱与拆箱 枚举(常用来设计单例模式) 静态导入static import 可变参数(Varargs) 内省(Introspector) 泛型(Generics) For-Each循环 ja ...
- Java算法练习——寻找两个有序数组的中位数
题目链接 题目描述 给定两个大小为 m 和 n 的有序数组 nums1 和 nums2. 请你找出这两个有序数组的中位数,并且要求算法的时间复杂度为 $O(log(m + n))$. 你可以假设 nu ...
- Java 语言特性【一】——JUC(Java 并发工具包)
引言 JUC即java.util.concurrent,是java提供的用于多线程处理的工具类库.重点关注 ConcurrentXXX.AtomicXXX.Executor.Caller&&a ...
- h5-transform-3d
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...