溢出:隐藏+显示:内联块向上移动文本

Dan*_*iil 57 html css

我有以下HTML:

<div>
    a<span style="overflow: hidden; display: inline-block;">b</span>c
</div>
Run Code Online (Sandbox Code Playgroud)

我期待看到的:abc.

我看到的内容(在Chrome,Safari,Firefox中): ABC

b高于ac.为什么会如此以及如何解决?

Jon*_*Jon 118

发生这种情况是因为inline-block元素的高度等于其父级,并overflow: hidden导致其底边在父级的文本基线上对齐.因此,对于<span>(JSFiddle),文本中可用于下行的空间基本上加倍.

你可以通过给它来解决这个问题vertical-align: bottom.

  • @Daniil:`overflow:hidden`改变了'inline-block`元素的基线,由于`vertical-align`的默认值是`baseline`,元素会垂直移动.参见[CSS规范](http://www.w3.org/TR/CSS2/visudet.html#propdef-vertical-align)(滚动到底部). (5认同)
  • 谢谢你这么清楚的回答!对于一个奇怪的特定问题,我只需要这些确切的信息。现在已经修复了! (2认同)