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

发布时间:2024-01-24 09:36:28 浏览量:210次

自从我们对使用系统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字体调整填充或行高,则必须使用上面的混合方法。

热门课程推荐

热门资讯

请绑定手机号

x

同学您好!

您已成功报名0元试学活动,老师会在第一时间与您取得联系,请保持电话畅通!
确定