使用 inline-block 元素时,为何会出现元素错位显示?

使用 inline-block 元素时,为何会出现元素错位显示?

浮动元素对齐错位的解决方法

在使用 inline-block 元素时,有时会遇到元素错位显示的情况。例如,以下代码:

<div>
    <span>11</span>
    <span class="desc">22</span>
    <span>33</span>
    <span>44</span>
</div>

span{
    display:inline-block;
}
.desc{
    overflow:hidden;
}

不设置 overflow 属性时,元素会正常显示:

11223344

但设置了 overflow 属性后,元素会出现错位:

11
22
3344

这是因为 overflow:hidden 影响了 inline-block 元素的基线位置。当后续的 inline-block 元素与前一个元素的基线对齐时,就会出现错位。

为了解决这个问题,可以将 vertical-align 属性设置为 middle,这样可以将元素垂直居中对齐:

.list {
    display: inline-block;
    width: 80px;
    height: 80px;
    overflow: hidden;
    vertical-align: middle;
}

.add {
    display: inline-block;
    width: 76px;
    height: 76px;
    ...
    // overflow: hidden; 可以注释掉
    vertical-align: middle;
}

以上就是使用 inline-block 元素时,为何会出现元素错位显示?的详细内容,更多请关注其它相关文章!