引用:
我的问题是关于社区成员在这个问题中给出的解释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??
最佳答案
这完全取决于字体。请参阅相关示例的屏幕截图:
突出显示的“Lorem”的行高与包含元素(浅蓝色)完全齐平。字母不会一直延伸到最大可用高度,就像它不会一直延伸到基线以下一样。
字体的创建者可以在字母上方或下方留出空间,这通常是为了保持字体的整体视觉平衡,其中包括可能更高的字母。参见示例:
AÄ
如果“A”一直延伸到最大可用高度,则它旁边的“Ä”要么比高高,要么需要被压扁。因为这看起来很糟糕,所以常规的“A”没有它可能的那么高,所以两个“A”在视觉上可以是一样的。
这与您是否实际使用重音字母无关,字形不会根据内容动态重新缩放。它们的高度始终相同,由字体创建者设置。如果你有这段文字会怎样:
AAAAAAAAAAAAAAAAAAA ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ AAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAA ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ AAAAAAAAAAAAAAAAAAA
如果字母大小会根据您是否“需要额外空间”而动态变化,这将导致外观极不均匀。这就是为什么它没有被完成。
关于html - 为什么浏览器为重音字符保留空间,即使没有重音字符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20244305/