如何为数字设置相同的行高

How to set the same line height for digits

我正在使用 google 字体 - Alegreya,并且数字是航海的。 有没有办法把它们排成一行?

干杯!

在排版中有两种(据我所知)类型的数字。

Alegreya 使用“旧式图形”,它们被设计为在最合适的地方流畅地上升和下降到基线以下。在某些字体的背景下,旧样式的图形很漂亮,提高了可读性。

你要找的东西叫“衬里人”,因排列整齐如士兵站在底线上而得名。

如果您确实想要 "correct" 这样做,则必须为每个要重新定位的数字手动执行此操作(或创建一个函数以编程方式执行此操作)。

如果您确实想建立自己的私人地狱,CSS3 有一个功能可以让您这样做。检查基线偏移:http://www.cssportal.com/css-properties/baseline-shift.php

.theNumberSixSpan{
   baseline-shift:-0.3em;
}
.theNumberSevenSpan{
   baseline-shift:0.4em;
}

你能想象每个数字都是这样吗?特别是,因为它不必要地违反了至少 500 年的印刷知识。

只有当您尝试将旧式图形表示为独立数字(即不与其他长文本对齐)时,它们才会成为真正的设计问题。我猜这就是你在做什么。这很好:这意味着您可以 select 这些块的第二种字体,它既与您的设计互补,又使用衬里数字。

根据文本的性质,您可以选择在长副本中保留旧式图形,或者以编程方式将其切换为第二种字体的衬里图形。

希望这些信息对您有所帮助。如果还有什么可以补充的,请在评论中告诉我们。