【问题标题】:Fit text exactly without spacing完全适合文本,没有间距
【发布时间】:2014-05-15 12:24:48
【问题描述】:

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

为什么会这样,我缺少任何浏览器的东西吗?我假设 line-height 等于 font-size 实际上根本不应该在一行周围添加任何间距?

更新:我实际得到的效果称为“半领先”。但是,我假设当将 line-height 设置为 font-size 时,根本不会出现前导,因为浏览器计算的一半前导应该导致 0px。

更新 2:刚刚在 CSS 规范中找到了这个:http://www.w3.org/TR/CSS2/visudet.html#line-height 但是,考虑到如何完全避免添加上升器/下降器,我仍然感到困惑?

【问题讨论】:

  • 不是需要一个间隙吗?所以一行中的字母不会覆盖另一行?
  • 因为行高包括字母字形周围的间距,所以它们不会接触。
  • 这对我来说真的没有意义.. 我假设指定要避免在文本周围出现任何类型的前导或半前导但它仍然存在吗?
  • hmmm ,为大写字母或数字的顶部和字母的底部保留空间,例如:jpqy 玩:codepen.io/anon/pen/qbrti

标签: html css typography


【解决方案1】:

响应您的更新 #2:

由于每种字体都会计算上升/下降高度,因此有些字体没有上升/下降高度,例如全大写等宽字体。它需要是一种不包含任何带有 a/d 的字符的字体;仅仅应用 text-transform: capitalize 是行不通的。

一个迂回的解决方案,但正如您所说,它是一个“功能而不是错误”。

【讨论】:

    猜你喜欢
    • 2014-08-24
    • 1970-01-01
    • 2014-01-02
    • 1970-01-01
    • 2013-07-30
    • 2016-08-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多