开发者社区> 问答> 正文

问一个inline-block的问题

<div class="container">
       <div class="item">123</div>
       <div class="item"></div>
       <div class="item"></div>
       <div class="item"></div>
   </div>
 .item{
    display: inline-block;
    font-size: .12rem;
    background: red;
    width: 25%;
    height: 1rem;
  }

screenshot

展开
收起
杨冬芳 2016-06-07 19:23:07 1590 0
1 条回答
写回答
取消 提交回答
  • 码农|Coder| Pythonista

    对于inline-block元素,如果里面没有inline内联元素,或者overflow不是visible,那么这个元素的基线baseline就是其margin底边缘,否则,它的baseline就是元素包含的内容中最后一行内联元素的基线。

    这个例子里面,后面几个方块里面没有内联元素,因此,baseline就是方块的margin下边缘,也就是下边框下面的位置;而第一个方块里面有内容“123”,因此,第一个方块就是以这行内容的baseline(也就是“123”的下边缘)作为它自己的baseline。于是,我们就看到了第一个方块里面内容“123”的底边和后面其他方块的下边缘对齐。

    修正方法:

    使用其他vertical-align对齐方式,让每个小方块的 vertical-align:top/bottom/...只要不是默认的baseline 都可以。

    或者可以像楼上的做法:overflow: hidden

    2019-07-17 19:30:50
    赞同 展开评论 打赏
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载