为什么浏览器为ACCENTED CHARACTERS保留空间,即使没有?

时间:2013-11-27 13:52:48

标签: html css browser

参考:
我的问题是关于社区成员在这个问题中给出的解释How to remove space at top of <p> tag / align contained text to top of container?

问题

我想知道的是,假设我的<p>或任何其他标记不包含任何此类字符,例如ÄĈ那么为什么浏览器会预留一个它的空间(它是否保留了空间...... ??因为我不知道,我只是在引用的问题中进行解释)....

在标记和CSS中给出.... if there is no accented character in the code, why is a space there for it then??

1 个答案:

答案 0 :(得分:6)

这完全取决于字体。请参阅相关示例的屏幕截图:

Lorem

突出显示的“Lorem”的行高与包含元素(浅蓝色)完全齐平。这封信不会一直延伸到最大可用高度,就像它不会一直延伸到基线以下一样。

L

字体的创建者可以在字母上方或下方留出空间,这通常是为了保持字体的整体视觉平衡,包括可能更高的字母。例如见:

  

AA

如果“A”一直伸展到最大可用高度,那么它旁边的“Ä”要么高于高,要么需要压扁。由于这看起来很糟糕,常规的“A”并不像它可能的那么高,所以“A”在视觉上都是一样的。

它与您是否实际使用重音字母无关,字形不会根据内容动态重新调整。它们总是相同的高度,由字体创建者设置。如果你有这个文本块怎么办:

  AAAAAAAAAAAAAAAAAAAAÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ   AAAAAAAAAAAAAAAAAAAAAÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ   AAAAAAAAAAAAAAAAAAAAÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ   AAAAAAAAAAAAAAAAAAAAÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ

如果字母大小会根据您是否“需要额外空间”而动态变化,这会使外观极不均匀。这就是为什么它没有完成。