Html 精确匹配文本,不留间距

Html 精确匹配文本,不留间距,html,css,typography,Html,Css,Typography,在CSS/HTML中,在给定字体大小的div中使用没有边距/填充的简单文本假设36px和36px的给定行高不完全匹配,行的顶部总是有一些间距。将线高度降低20%,即在本例中为29.8,似乎达到了预期效果 为什么会这样,我缺少什么浏览器的东西吗?我假设行高等于字体大小实际上不应该在一行周围添加任何间距 更新:我实际得到的效果称为半领先。然而,我假设在将行高设置为字体大小时,可能根本不会出现前导,因为浏览器计算的半前导应该会导致0px 更新2:刚刚在CSS规范中找到: 然而,考虑到如何避免添加上升/

在CSS/HTML中,在给定字体大小的div中使用没有边距/填充的简单文本假设36px和36px的给定行高不完全匹配,行的顶部总是有一些间距。将线高度降低20%,即在本例中为29.8,似乎达到了预期效果

为什么会这样,我缺少什么浏览器的东西吗?我假设行高等于字体大小实际上不应该在一行周围添加任何间距

更新:我实际得到的效果称为半领先。然而,我假设在将行高设置为字体大小时,可能根本不会出现前导,因为浏览器计算的半前导应该会导致0px

更新2:刚刚在CSS规范中找到:
然而,考虑到如何避免添加上升/下降器,我仍然感到困惑?

响应您的更新2:

因为上升/下降高度是为每种字体计算的,所以有些字体没有上升/下降高度,就像所有大写字母一样。它需要是一种不包含任何a/d字符的字体;仅应用文本转换:大写不起作用


这是一个迂回的解决方案,但正如您所说的,它是一个功能,而不是一个bug

这不是一个需要的间隙吗?所以一行中的字母不会覆盖另一行?因为行高包括字母轮廓周围的间距,所以它们不会接触。这对我来说真的没有意义。。我假设指定避免任何类型的前导或半前导文本,但它仍然存在?嗯,保留了大写字母或数字顶部和字母底部的空间,如:jpqy play with: