某天(2016.07.12)发现 GitHub 的字体比原来宽了一些,打开开发者工具一看,字体设置中多了两个奇怪的玩意:
body {font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";}
-apple-system、BlinkMacSystemFont 是什么东东?根据 Webkit 博客,-apple-system 用于调用系统默认 UI 字体,并且会根据 font-weight 声明选择恰当的变体。system 将来有可能成为标准,-apple- 为过渡阶段的厂商前缀。
又该去更新字体列表了 :(。
body {font-family:system, -apple-system, BlinkMacSystemFont,"Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans","Helvetica Neue", sans-serif;}
第一组映射系统 UI 字体:
-apple-system:macOS 和 iOS 平台的 Safari 指向 San Francisco,更老版本的 macOS 指向 Neue Helvetica 和 Lucida Grande(中文字体待验证)BlinkMacSystemFont:为 macOS Chrome 应用系统 UI 字体,与上面等同
第二组定义已知的系统 UI 字体:
Segoe UI面向 Windows 和 Windows PhoneRobotoAndroid 及 较新的 Chrome OSOxygen面向 KDE、Ubuntu 等Fira Sans面向 Firefox OSDroid Sans面向老版本 Android
第三组回退处理:
Helvetica NeueEl Capitan 之前的 macOS 系统 UI 字体sans-serif字体回退
考虑到中文字体,最终的列表可能是:
body {font-family:system, -apple-system, BlinkMacSystemFont,"PingFang SC", "Segoe UI", "Microsoft YaHei", "wenquanyi micro hei","Hiragino Sans GB", "Hiragino Sans GB W3", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans","Helvetica Neue", Helvetica, Arial, sans-serif;}
是不是又臭又长?维护这么个列表也够蛋疼的。简单一点,何尝不好:
font-family: sans-serif;
关于苹方
可以直接指定具体的字形:
.some-element {font-family: "PingFang SC ExtraLight";font-family: "PingFang SC Light";font-family: "PingFang SC";font-family: "PingFang SC Medium";font-family: "PingFang SC Semibold";font-family: "PingFang SC Heavy";}
或者预先定义好,使用 "PingFang-SC" 引用,浏览器根据 font-weight 去选择不同的变体。
@font-face {font-family: "PingFang-SC";font-weight: 100;src: local("PingFang SC Thin");}@font-face {font-family: "PingFang-SC";font-weight: 300;src: local("PingFang SC Light");}@font-face {font-family: "PingFang-SC";font-weight: 400;src: local("PingFang SC Regular");}@font-face {font-family: "PingFang-SC";font-weight: 500;src: local("PingFang SC Medium");}@font-face {font-family: "PingFang-SC";font-weight: 700;src: local("PingFang SC Semibold");}@font-face {font-family: "PingFang-SC";font-weight: 800;src: local("PingFang SC Heavy");}body {font-family: "PingFang-SC", sans-serif;}
参考链接:
