代码之家  ›  专栏  ›  技术社区  ›  Wais Kamal

如何删除此额外跨距高度?

css
  •  2
  • Wais Kamal  · 技术社区  · 7 年前

    我只是偶然发现了这个问题 <span> 大于我设置的字体大小。这是:

    span {
      font-size:   36px;
      padding:     0px;
      line-height: 1;
      background:red;
    }
    <span>Hello world</span>

    即使 line-height: 1 和 padding: 0px 跨度似乎增加了4个像素的高度。我注意到 display: block 解决了这个问题,但在我的情况下,这是不实际的,因为我需要它内联。

    有什么“把戏”可以做到这一点吗?

    2 回复  |  直到 7 年前
        1
  •  1
  •   yunzen    7 年前

    尝试 display: inline-block;

    span {
      font-size: 36px;
      padding: 0px;
      line-height: 1;
      background: red;
      display: inline-block;
    }
    
    span.last {
      display: inline;
    }
    <span>Hello world (inline-block)</span> <span class="last">Hello world (inline)</span>
        2
  •  1
  •   ElusiveCoder    7 年前

    您可以使用css这样做,使用百分比作为 line-height . 因为你的字体有额外的顶部和底部空间,总共 25% ,所以我给了 75% 线高

    span {
        font-size: 36px;
        padding: 0px;
        background: red;
        line-height: 75%;
        display: inline-block;
    }
    <span>Hello world</span>