首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

在Web设计中使用UI系统字体:快速实用指南

自从我们对使用系统UI字体感到比较兴趣与关注之后,它们不需要网络字体传送服务或存储在服务器上的字体文件。

我们如何在网站上使用系统UI字体?

目前,有两种方法可以让你的网站使用系统UI字体进行排版。

方法A是使用简写CSS属性:font: menu。

有许多CSS字体属性已经开发时间最长(caption,icon,menu,message-box,small-caption,status-bar),但从来没有见过它们被普遍使用在项目中。

方法A有其缺点:

它不会在iOS上返回正确的字体,也不会在许多Android浏览器中返回。

它是一种速记,这意味着它会覆盖字体大小,它不能与之结合,也不会重新出现。

方法B是按名称列出字体:

当然B方法有它的缺点:

你必须维护列表(及其顺序)。

该列表面向最流行的浏览器和操作系统,但并不针对所有这些浏览器和操作系统。

它在Mac OS X El Capitan的Firefox中不起作用,导致Neue Helvetica被展示。

此解决方案容易出现命名冲突,这导致了一个非常有趣的错误,系统字体在Medium上。另外,例如,Oxygen(KDE的UI字体)是人们可以安装的另一种字体的名称,这可能会导致意外。此外,如果你是开发人员并且碰巧在你的计算机上安装了Roboto或Fira Sans,则此字体声明可能会使用其中一个而不是系统的实际UI字体。

Mac OS 10.0到10.9使用Lucida Grande作为系统UI字体。Mac OS 10.10使用Neue Helvetica。但是,所有版本的Mac OS X都安装了这两种字体。因为font-family

声明通过顺序浏览字体列表来找到第一个安装,在某些平台上选择Lucida Grande而在其他平台上选择Neue Helvetica是不可能的,将始终选择声明中列出的第一个可用的。

你可能倾向于将方法A与方法B结合起来,以获得两全其美。不幸的是,这并不容易,因font和font-family属性是互斥的,即一个将覆盖另一个。

你可能还想象从服务器发送不同的CSS值,具体取决于用户代理(例如,只有font-family: “Fira Sans”, sans-serif;

当我们知道浏览器在Firefox OS上运行时才发送),或者通过JavaScript执行,但这似乎很麻烦且难以维护,但它仍然无法解决我们所有的问题。

目前我们使用方法B:

我们选择这种方法是因为它似乎有较少的问题,更符合多数实战开发中。

此外,如果要根据网站使用的UI字体调整填充或行高,则必须使用上面的混合方法。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20190202A12BSR00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券