一般,文字的实际占页面中并不紧贴文字可视界,一的额外距的,所以对于标注稿中的文字部分,发往往出的效果与设稿会偏差。那如何精确视觉规范,又能兼顾发实,本文探讨的一问题。文章提供一套设方法,旨加严谨实规范化,精确化,设与发之间保持平衡。
我用 4px 网格设计方法 2 多了,也试让我的团队使用这套方法论。如今,我终于克服了拖延症,决我的第一篇 Medium 文章中探讨这方法,并望用这篇文章获得家的一些反馈。
平时的作中,让我感到抓狂的,文本占几乎总比实际的文本高度高。因此,当使用文本占的高度应用距规范时,总会显得比预的。文字行高越,偏差就越。下面的示例中,设通过运用文本之间的空间创建的,当所间距都 32px 时,所的垂直间距实际会比 32px 很多
译者注:这家使用 sketch 时应该会常遇到。
△ Photo by Max Delsid on Unsplash
由于这样的问题,我使 4px 格方法来规范视觉精。是我的设计过程:
- 在背中设置一个 4px 的网;
- 把有的元素和本都对齐在格上;
- 使用网格测文本之间的留白区域,不直接使用文本占的小。
此外,受到 Medium 上 Nathan Curtis 的《 Space in Design Systems 》章影响,我给团队定义了一组间距值,方快速使。
为了有容都对齐于格上,这种方法基本上将本的可视取整为 4 的倍数,这样可会成 1-2px 的误差,但实仍然会直接本占位来设定间距更为精确。
△ 测量本上方最的一条格线的距离
一例外:组件或者某器中的图标或者文本应该垂直居中,无论他们否对齐于基准网格。因多数时候发可以使用弹性布局(flexbox)将元素直接居中,这比标注静态的间距实用。
每行内元素中的文本 sketch 中都使用下居中对齐,基线此时对齐也关系的。
传统意义,网格设常常用于纸媒印刷,用打造垂直方向的节奏感,设 Web 用户体验的作中,同样也需把控好这样的节奏感。
我来说,使用 4px 网格法是视觉精度和设计效率平衡。在问题部分,我讨论了使用文本占位齐所带来麻烦,用户其实是看不见这个所谓文框。所以使用这「严谨」设计,其实是没有多大意义,会造成视觉上不平衡,并没有用户带来好处。
另一个角度来说,忽略文本占位空间,使用网格来进行测量,则可以获得更高的度。
下面是两种方法的比,我们以看到,当使用相同的间距值(32px,12px,32px,32px)时,使用网测量的设计更准确地反映预期的间距。
译者注:里我想提一句,在际输出标注稿的时,间距不是图中所示,标注自动减去文字占位空间,比 Seattle 与 City in Washington 之间的标注间距能是 8px,样开写出来的 css 代码才能与页面中的际文占位对齐。
有人可能会说,如果是因为从文本占位而产生了多的间距,那,将上图第一张卡片计中的「Seattle」间距从 32px 降低 28px 或者 24px 来顶部和左侧的 Padding 值相同不就行了。但是,这做就成了一件靠觉的事情,除非去计算像素,否则远无法确定。另一方面,4px 网格规范提供了一个更确、更好把控的方法来确定间距大。
就设计效率而言,似乎需要做更的工,但是由网的存在,设计软件(比sketch或Figma)以用自动吸附功能帮助对齐网,因此际处理时其并不烦。下面是我平时使用网局时的工流程:
△ 我的工作流中如何处好本
或者,的时候可以选择不使用网格参考线,只用一素块手动测,但这就需将画面方法至素小。
译者注:我自己平时就常这么,这样测会准确。
△ 图一可选的作流,直接两文本之间的间距,不使用网格参考
当发拿到这样的设计标注稿时,看到的间距可是看似没有规律的随机间距,这对开发来说,并友好。
上中,我到了一篇章《Space in Design Systems》,章中要讨论了如何使 css 类来表示间距值,这有助于强设计与开发之间的一致性。幸的是,使我的这种方法,几乎可将间距表示为一组 css 类,因为间距值具有随机性。
我们还研究了许多人提出的一种减少随机性问题的门技,使用::before ::after CSS 伪类「裁切」界框(本质对行内元素的间距校)。然,我的发男友则告诉我:
使用::before ::after CSS 伪类并不理,因不同的字体,浏览器,操作系统甚至不同的屏幕分辨率都不一致。针对某一字体好的设置,其他方又可能出问题。从发的角度,这样也遵循很好的码规范,因使用了负距,将无关的多余元素应用到了 DOM 结构中,这可能会导致一些意不到的副作用。因此,真实项目中,这种技不得冒险。
(译者注:貌似这里作者并明确与发的对接,我人认,作垂直方向的间距,文字小不变的况下,让发直接按标注的间距写 CSS ,复杂度也能接受。)
我曾了一项不同区语言的研究,研究我的方法否支持 8 种书写语言(拉丁语,汉语,里尔语,德语,希腊语,韩语,日语泰语)。然后我意识到,无论使用哪种度方法,终发都从标注稿中获得间距写 CSS 中的界框间距重的。不同的字体,即使行高相同,可视高度也会区别。然,如下图中所示,尽一些细微的改变,所语言的内仍然相对集中相同的置。
△ Photo by Joshua Sortino on Unsplash
如果任何不合理的方,或者任何问题,反馈或好的解决方案,请让我知道。我已研究这课题很时间了,所以我很听听的法。
原文:《The 4px baseline grid — the present》 Ethan Wang
欢迎关注译者的公众号:「彩云译设计」