<div>
<div class="inline-block-box">
<div style="display: inline-block;font-size: 16px;line-height: 1">inline-block</div>
<div style="display: inline-block;font-size: 16px;line-height: 1">inline-block</div>
</div>
<div class="inline-flex-box">
<div style="display: inline-flex;font-size: 16px;line-height: 1">inline-flex</div>
</div>
</div>预期效果是,inline-block-box 和 inline-flex-box 两个元素的高度都是 16px;实际上两者都是 24px:

原因在于:虽然我们为文本设置了字号 16px,行高 1,最终 div 高度为 16px。但父元素继承了 html 的 1.5 倍行高,inline-block-box 和 inline-flex-box 的实际高度要乘以 1.5,也就是 24px。
要避免此类问题也很简单,如果要固定行内元素的高度,直接在其父元素指定字号和行高即可。
修复后的示例代码如下:
<div>
<div class="inline-block-box" style="font-size: 16px;line-height: 1">
<div style="display: inline-block;">inline-block</div>
<div style="display: inline-block;">inline-block</div>
</div>
<div class="inline-flex-box" style="font-size: 16px;line-height: 1">
<div style="display: inline-flex;">inline-flex</div>
</div>
</div>
使用 flex 布局:
<div>
<div class="inline-block-box" style="display: flex">
<div style="display: inline-block;">inline-block</div>
<div style="display: inline-block;">inline-block</div>
</div>
<div class="inline-flex-box" style="display: flex">
<div style="display: inline-flex;">inline-flex</div>
</div>
</div>同样也可以避免此问题。