前端时间验收开发大哥的页面时,发现文字部分实现出来有很大的出入,所以和开发商量,腾出半天时间一起调试了文字的各种效果,最后基本能做到98%的还原度,下面来分享一下。
1.文字中几个基本概念
首先我们要了解文字的一些基本概念。其实我们在设计软件中创建出来的文字高度,不仅仅是包括文字本身的高度(字高),还包括文字上下空出的部分,字高加上下空出的部分之和就是行高;另外每个文字拥有自己的基线,也就是图中的红色线,基线与基线之间的距离也是行高。

2.偏差产生的原因
1)标注时忽略了行高,只标注了文字与文字之间的距离。eg:如图就有了将近10px的差距

2)注意了行高的存在,但设计与开发时的默认行高不同。
我们使用sktech创建文字时,会有一个默认行高;开发时程序员创建的文字也有一个默认行高,这两个默认行高间可能会有不同。eg:图中不同的行高之间就有了20px的差距。

3.如何能够和开发沟通还原设计稿
那了解了以上文字的内容之后,我们现在知道,只要我们标注清楚字号大小和行高,且标注时不忽略行高,那么我们的设计效果就基本可以精准还原了。
但是如果我们每一段文字都要标注行高的话其实是很费时费力,很多情况下我们都是使用默认的行高,那这个时候我们就要和开发统一一个默认的行高,以下是我从网上找到的ios与安卓默认的开发行高。


可以看到ios的默认行高其实是有一定规律可以寻找的,但是安卓不同,基本没有规律可循,所以我用到了一个自动修复行高的插件(ios其实也有插件,但我基本都记住了)
安卓修复行高插件:https://github.com/zz379/AutoFixAndroidTextLineHeight
iOS修复行高插件:https://github.com/youngxkk/AutoFixiOSTextLineHeight
感谢开发工程师的插件贡献,鞠躬🙇♀️
在用插件修复行高以后,我们就和开发人员有了统一的默认行高,所以默认行高的地方我们就不需要进行标注,只要对特殊行高的位置进行标注即可。
4.一个实例
下图是一个标注的例子,红色线和绿色底框在实际标注时是不存在的,这里为了方便理解所以添加。标注的距离为行与行之间,默认行高时没有特殊标注,段落部分特殊行高时标注清楚了特殊行高。

以上内容均经过我和开发人员的共同验证,基本能够完美实现设计效果,所以写出来分享一下,希望对正在头痛开发效果不能还原的设计师有所帮助~
那我们下次再见啦👋