【问题标题】:Why do the same characters take different space in different browsers?为什么相同的字符在不同的浏览器中占用不同的空间?
【发布时间】:2015-11-27 23:23:51
【问题描述】:

为什么在 Chrome 和 FF 上,绿色背景的字符占用更多空间? 在 Internet Explorer 上,所有字符占用相同的空间(高度)

我做了一个小提琴 https://jsfiddle.net/xuqa3a0f/

  <div style="background: yellow; float: left">↕</div>
  <div style="background: Chartreuse; float: left">▴</div>
  <div style="background: yellow; float: left">A</div>
  <div style="background: yellow; float: left">B</div>
  <div style="background: yellow; float: left">C</div>
  <div style="background: yellow; float: left">1</div>
  <div style="background: yellow; float: left">2</div>
  <div style="background: yellow; float: left">3</div>
  <div style="background: yellow; float: left">↔</div>
  <div style="background: Chartreuse; float: left">↖</div>

谢谢提前回答。

【问题讨论】:

    标签: google-chrome firefox browser unicode cross-browser


    【解决方案1】:

    HTML 中的特殊字符可以使用不同的字体,它们可以有不同的行高。

    这里说的很长:http://www.cs.tut.fi/~jkorpela/html/characters.html

    但要修复它,您必须使用共同的行高。

    如果我在您的示例中使用以下 css 看起来不错:

    .cell {
      display: table-cell;
      background: chartreuse;
      line-height: 25px;
    }
    

    所以我会说这不是错误,但浏览器对字符的解释不同。

    【讨论】:

    • 感谢您的回答。它没有解决我的问题。我有一个表结构,需要这个结构。它看起来像这样:jsfiddle.net/vepm87Ly 我需要每行的高度相等,但第一行更高,因为特殊字符的空间消耗。如果可能的话,我不想使用像素高度。
    • 我确实更改了答案,因为我确实找到了一些新信息。我认为不使用 line-height 来修复它就没有解决方案。如果您不想使用像素高度,也可以使用 em 或 pt 设置行高,例如:line-height: 1.5pt;
    • 感谢您的回答和解释。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-04-01
    • 2019-04-24
    • 1970-01-01
    • 2017-12-07
    • 2011-04-11
    • 1970-01-01
    相关资源
    最近更新 更多