gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-04 22:44:25 25 4
gpt4 key购买 nike

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

Change the alignment of elements with the vertical-alignmentutilities. Please note that vertical-align only affects inline,inline-block, inline-table, and table cell elements


我只是做了一个小比较表,以展示我的困惑:

<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>

那么为什么第一个表格没有像第二个表格那样垂直正确对齐的文本呢?
我还尝试添加一个 flexbox : <div class="d-flex align-items-center">...</div> .结果相同。我需要 class="row"在我的 tr因为表格元素的水平对齐。我怎样才能在我的第一个单元格中获得垂直对齐的元素?

最佳答案

我假设您的意思是水平居中和垂直居中,对吗?
正如评论中已经指出的那样,将表格与 Bootstrap 的 row 混合使用类导致对齐元素的问题。
但是,如果 如果您想保持当前布局不变,可以使用 display: contents在具有类 row 的元素上.这使得子元素的位置相对于元素的父元素。在文档中阅读更多信息 here .
您修改后的代码段:

tr.row {
display: contents
}
<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">now 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>

关于html - 如何在 bootstrap 5 表格单元格中垂直对齐文本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70886870/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com