两个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 语法排版,代码语义正确
不该作为回答的
- 询问内容细节或回复楼层
- 与题目无关的内容
- “赞”“顶”“同问”“看手册”“解决了没”等毫无意义的内容