如何在Bootstrap 5表格单元格中垂直对齐文本?

2022-08-25 00:00:00 html css twitter-bootstrap bootstrap-5

我创建了一个表格,并希望其中一个单元格具有垂直对齐方式。引导程序5文档states:

更改元素的垂直对齐方式 公用事业。请注意,垂直对齐仅影响内联, 行内块、行内表、和表格单元格元素

我只是做了一个小的对比表,以演示我的混乱:

数据-lang="js"数据-隐藏="假"数据-控制台="真"数据-巴贝尔="假">
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/css/bootstrap.min.css" rel="stylesheet"/>
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/js/bootstrap.bundle.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>

<table class="table table-dark">
    <tbody id="table">
        <tr class="row">
            <td class="col-sm-2 align-middle">not aligned</td>
            <td class="col-sm-1">
                <button>
                    <div class="row">
                        <img src="https://upload.wikimedia.org/wikipedia/commons/thumb/e/e3/Flag_of_Papua_New_Guinea.svg/320px-Flag_of_Papua_New_Guinea.svg.png" width="64px" height="48px">
                    </div>
                </button>
            </td>
            <td class="col-sm-9" colspan="9"></td>
        </tr>
    </tbody>
</table>
<table class="table table-dark">
    <tbody>
        <tr>
            <td class="col-sm-2 align-middle">aligned</td>
            <td class="col-sm-1">
                <button>
                    <div class="row">
                        <img src="https://upload.wikimedia.org/wikipedia/commons/thumb/e/e3/Flag_of_Papua_New_Guinea.svg/320px-Flag_of_Papua_New_Guinea.svg.png" width="64px" height="48px">
                    </div>
                </button>
            </td>
            <td class="col-sm-9" colspan="9"></td>            
        </tr>
    </tbody>
</table>

那么,为什么第一个表格没有像第二个表格那样具有垂直正确对齐的文本?

我还尝试添加了一个弹性框:<div class="d-flex align-items-center">...</div>。结果是一样的。由于表格元素的水平对齐,我需要在我的tr中使用class="row"。如何仍能在第一个单元格中获得垂直对齐的项目?


解决方案

我不会让您等待正确的答案,但在此之前,您必须查看以下[1]:https://getbootstrap.com/docs/5.0/utilities/vertical-align/它说明了Bootstrap 5中项和项容器的垂直对齐方式。 您可以使用相同的属性来设置表单元格和该表单元格中项目的对齐方式。

欢呼享受发展

相关文章