粗体文本行高度高于普通文本行高

时间:2011-12-04 16:38:11

标签: html css

必须是我在这里缺少的基本东西。我认为font-weight:bold不应该改变文本占用的垂直空间。特别是当行高设置为高于font-size时。

http://jsfiddle.net/Arkkimaagi/7xAyy/

在我的OSX chrome上,这三个文字高度不匹配。第二个使用font-weight:bold比其余的高1px。第三个div只是解决问题的一个例子(很差)

我正在尝试将行高设置为特定的(18px),以获得“垂直节奏”

我的问题是,如何使用与示例中相同行高的粗体和普通文本?

[编辑:] 这是我在Mac上看到的内容 Example of the problem on my osx

此外,这是我对“垂直节奏”的看法:http://www.alistapart.com/articles/settingtypeontheweb   - 示例中的基线网格更加明显:http://www.alistapart.com/d/settingtypeontheweb/example_grid.html

5 个答案:

答案 0 :(得分:9)

有时添加顶部垂直对齐将解决此问题(取决于字体大小/系列)。

strong { vertical-align: top; }

在你的小提琴例子中,因为你在容器(div)上设置了行高,你可以简单地添加以下内容:

span { line-height: 1em; }

答案 1 :(得分:4)

这完全取决于您使用的字体。关于OSX或Chrome文本渲染的任何内容都不能确保两种不同的字体(以及Helvetica-neue和Helvetica-neue-bold是两种不同的字体)即使在相同的字体大小和行高处也会具有相同的垂直空间。

即使这个问题太多了,你可能会认为来自同一家族的两种不同字体可能是一致的,而且通常它们都是一致的,但遗憾的是你所选择的两种字体并非如此。

答案 2 :(得分:1)

我遇到了与Chivo字体非常类似的问题:http://www.fontsquirrel.com/fonts/chivo。现在我正在使用最丑的黑客(适用于当前的Firefox和Chrome,尚未经过测试的IE):

strong { vertical-align: top; position: relative; top: -1px; }

我试着不要像你看到的那样彻底放弃Chivo ......

答案 3 :(得分:1)

在容器和粗体文本上设置绝对行高,或者给粗体文本设置1em的行高(如DaveC所说),两者都解决了这个问题,例如:从jsfiddle你只需要添加line-height: 1em

.bolded span {
  font-weight:bold;
  line-height: 1em;
}

或者为什么不遵循HTML标准并使用正确的标签而不是粗体跨度? E.g。

strong, em { line-height: 1em }

答案 4 :(得分:0)

我认为这是一个字体问题。我发现Nunito(Google Web Font)的斜体变体的行高不同。当我切换到名为“Nunito Sans”的字体的返工版本时,问题就解决了。

相关问题