article_image

🔗 原文链接

本文讨论了现代 UI 设计中的一个普遍问题:元素的对齐,尤其是文本、图标和按钮的居中对齐。尽管我们有许多方法可以轻松地实现对齐(例如使用 CSS 的 flexgrid 布局),但实际应用中仍然经常出现对齐不当的情况。

理论上,使用 display: flexdisplay: grid 可以很容易地实现水平和垂直居中对齐。但在实际应用中,这些方法常常被忽略或应用不当,导致很多实际产品中的对齐问题。

字体对齐问题

字体是对齐问题的主要原因之一。文本的对齐经常因为字体的度量不当而出现偏差。许多知名公司(如 Apple、Microsoft、GitHub 等)在其产品中也存在文本对齐问题。


字体导致的无法对齐
字体导致的无法对齐

行高问题

行高设置复杂,容易导致文本在不同容器中的对齐问题。例如,Slack、Notion 和 Airbnb 的 UI 中都存在行高导致的对齐问题。


行高导致的不对齐
行高导致的不对齐

图标对齐问题

图标与文本的对齐特别困难,因为图标像小矩形,而文本的行高和对齐规则不一。不同的平台和应用(如 Atom、Twitter、iOS 等)中,图标和文本的对齐问题普遍存在。


图标导致的对齐问题
图标导致的对齐问题

图标字体的问题

使用图标字体带来了更多的对齐问题,无法精确设置图标大小和对齐。即便是苹果这样的公司,也在 QuickTime 记录按钮和计算器等产品中出现图标对齐问题。


图标字体导致的对齐问题
图标字体导致的对齐问题

设计师和开发者的挑战

设计师和开发者都面临对齐问题。设计师需要考虑图标的形状,而开发者则需应对复杂的 CSS 设置。水平和垂直居中都存在挑战,甚至简单的水平居中也常常出错。


设计稿与开发之间的对齐问题
设计稿与开发之间的对齐问题

原文中还有大量的“不对齐”示例,感兴趣可以去原文欣赏。


视觉上也许不错,但不能深究
视觉上也许不错,但不能深究

解决方案

那么,可以做什么呢?文章分别给设计师和开发者提供了一些解决方法:

  • 使用紧密的边框框定文本:可以大大简化对齐问题。
  • 字体设计师应设置合理的字体度量:确保文本在框内对齐。
  • 开发者需要了解所使用的字体的具体度量:并相应地调整 CSS 设置。
  • 停止使用图标字体:改用普通的图像格式,以便更好地控制图标的大小和对齐。
  • 进行视觉补偿:将图标包裹在足够大的矩形内,以便视觉上平衡图标。

做一些补偿
做一些补偿

“对齐”问题看似简单,却在实际应用中频繁出现。需要设计师、开发者和字体设计师共同努力,关注细节,才能实现美观、平衡的用户界面。


author_avatar

UNTAG 官方