参考:
我的问题是关于社区成员在这个问题中给出的解释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??
答案 0 :(得分:6)
这完全取决于字体。请参阅相关示例的屏幕截图:
突出显示的“Lorem”的行高与包含元素(浅蓝色)完全齐平。这封信不会一直延伸到最大可用高度,就像它不会一直延伸到基线以下一样。
字体的创建者可以在字母上方或下方留出空间,这通常是为了保持字体的整体视觉平衡,包括可能更高的字母。例如见:
AA
如果“A”一直伸展到最大可用高度,那么它旁边的“Ä”要么高于高,要么需要压扁。由于这看起来很糟糕,常规的“A”并不像它可能的那么高,所以“A”在视觉上都是一样的。
它与您是否实际使用重音字母无关,字形不会根据内容动态重新调整。它们总是相同的高度,由字体创建者设置。如果你有这个文本块怎么办:
AAAAAAAAAAAAAAAAAAAAÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ AAAAAAAAAAAAAAAAAAAAAÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ AAAAAAAAAAAAAAAAAAAAÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ AAAAAAAAAAAAAAAAAAAAÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
如果字母大小会根据您是否“需要额外空间”而动态变化,这会使外观极不均匀。这就是为什么它没有完成。