在一个div中把p标签设成inline-block但他和里边span标签不平行

p和span都是行内元素,设了同样的line-height,为什么还不平行呢
图片描述

图片描述

阅读 5.8k
3 个回答

这要涉及到了vertical-align,由于你设置了span的display为inline-block,且overflow不是visible,所以说这个span的baseline就是这个元素的margin下边界的位置。
所以解决方案就是你需要给span设置下vertical-align,可以设置为top 或者bottom都可以。

关于这方面详细文档可以参考 http://blog.aijc.net/css/2014/08/08/CSS%20%E5%8F%AF%E8%A7%86%E5%8C%96%... 行号计算和vertical-align那块

别截图,发代码方便重现

正如 @dolymood 所说,inline-block的span由于overflow不为visible,导致其baseline位于margin-box的下边界,可以设置span的vertical-align: bottom调整line box的baseline

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题