如何从Photoshop获得CSS文本边距/填充?
或者
如何将Photoshop中文本的距离转换为CSS边距/填充?
在Photoshop中,文本元素(段落)的距离与CSS中的边距/填充不对应。距离是使用智能参考线等工具测量的:
这是因为距离计算中没有使用行高。因此,我发现的第一个建议是使用公式:
margin_in_CSS = distance_in_PS - (line-height - font-size) / 2
或更短:
CSS = PS - (line-height - font-size) / 2
这是从某个明显的边界(线)到文本元素的距离。对于两段落之间的距离,我们分别使用:
CSS = PS - (line-height_1 - font-size_1) / 2 - (line-height_2 - font-size_2) / 2
随着字体大小的增加,很明显这个公式已经不够用了。在Photoshop中用选择工具获取到的文本行的实际高度甚至比字体大小还小!
尽管Photoshop仍然认为元素的高度大约等于字体大小,但这并不影响与它的距离 :(. 例如,在属性选项卡上:
我计算了线条实际高度和字体大小之间的差异大约为30%或15%(我不是说这是100%正确的!)。现在我使用这个公式:
CSS = PS - (0.15 * font-size + (line-height - font-size) / 2)
或在两段之间:
CSS = PS - (0.15 * font-size_1 + (line-height_1 - font-size_1) / 2)
- (0.15 * font-size_2 + (line-height_2 - font-size_2) / 2)
同样地,我们不能仅仅依靠Photoshop来正确定义一个段落在多行中的高度。但这里的情况更为简单,CSS 中段落的真实高度将会是: Similarly, we can not rely on the correct definition of the height of a paragraph in several lines by Photoshop. But here the situation is simpler, the real height of the paragraph in the CSS will be:
height = line-height * num_of_lines
问题是,是否有更简单的方法?О_о
抱歉我的英语 ^_^
更新,更短的公式:
文本 <> 边框
CSS = PS - (line-height - 0.7 * font-size) / 2
文本 <> 文本
CSS = PS - (line-height_1 - 0.7 * font-size_1) / 2
- (line-height_2 - 0.7 * font-size_2) / 2
更新:
现在正在为Adobe论坛开发一个脚本,以正确计算距离 (链接)。目前,该脚本可以计算标准(自动)行高为120%的文本行边界框距离。
更新:
无论您使用点文字还是段落文字,结果边界框高度都不等于文本行高(行间距)。