两个inline-block 元素为什么会错位显示?
回复
1个回答

test
2024-06-24
overflow:hidden的这个属性影响了inline-block元素baseline的位置;因为你的list也是行内块,也设置了overflow,而后下一个元素与前一个元素基线对齐就错位了,第二个也设置,baseline也改变就不错位了
   <div>
       <span>11</span>
       <span class="desc">22</span>
       <span>33</span>
       <span>44</span>
    </div>
   span{
     display:inline-block;
   }
   .desc{
     overflow:hidden;
   }
   
 // 这时候另外的span元素会向下偏移;// 解决方案,修改vertical属性;
    .list {
        display: inline-block;
        width: 80px;
        height: 80px;
        overflow: hidden;
        vertical-align:middle;
    }
    .add {
        display: inline-block;
        width: 76px;
        height: 76px;
        color: #ccc;
        border: 2px dashed;
       
        transition: color .25s;
        position: relative;
        /**
        为什么不设置overflow  a标签就会下沉显示?
        **/
        /* overflow: hidden; */
          vertical-align:middle;
    }回复

适合作为回答的
- 经过验证的有效解决办法
- 自己的经验指引,对解决问题有帮助
- 遵循 Markdown 语法排版,代码语义正确
不该作为回答的
- 询问内容细节或回复楼层
- 与题目无关的内容
- “赞”“顶”“同问”“看手册”“解决了没”等毫无意义的内容



