html-table - Material UI 创建多行数据表行
问题描述
目前我正在尝试使用 Material UI 创建一个表格。我想要工作的是一个表格行,每个行row
总共td
有 8 个td
。每行中的最后一个应该跨越同一行中的 7 个列。
我不知道是否以及如何在一行内实现此布局,或者我是否必须在两个单独的行内实现此布局?
解决方案
可以通过display: flex;
在您的tr
. 如果第一行超过了它的最大空间,我们还需要使用它flex-wrap: wrap;
来使项目换行(创建一个新行)。
table {
width:100%
}
tr{
width: 100%;
display: flex;
flex-flow: row;
flex-wrap: wrap;
}
tr td {
flex: 1 0 13%;
border: 1px solid black;
background: gray;
}
/* Color the last td to better illustrate that it spans the whole row. */
tr td:last-child {
background: orange;
}
<table>
<tr>
<td>a</td>
<td>b</td>
<td>c</td>
<td>d</td>
<td>e</td>
<td>f</td>
<td>g</td>
<td>h</td>
</tr>
<tr>
<td>i</td>
<td>j</td>
<td>k</td>
<td>l</td>
<td>m</td>
<td>n</td>
<td>o</td>
<td>p</td>
</tr>
</table>
在我创建的代码段中要注意的重要部分是flex: 1 0 13%;
:
flex-grow: 1; // take up as much space as possible
flex-shrink: 0; // don't shrink item to fit in flex container
flex-basis: 13%; // set the initial main size of the flex item to 13% of available space
当每个弹性项目需要至少 13% 的可用空间时,td
第一行应该有足够的空间用于 7 秒 (7*13 = 91)。第一行剩余的 9% 空间不足以容纳第 8td
行,因此它换行到新行。第 8 个td
将占用第二行的剩余可用空间,因为flex-grow: 1;
.
推荐阅读
- javascript - 电子 preload.js 文件中的 contextBridge 数量
- bots.business - 如何更改机器人业务的 webhook url 以将数据发送给不同的用户?
- apache-superset - 为什么超集 load_examples 说“管理员用户不存在”,即使存在一个?
- php - 在 WooCommerce 4 中设置购物车过期间隔
- c - 在 void* 中使用指针算法
- react-native - 如何在裸 react-native 应用程序中配置 react-native 导航?
- python - NoReverseMatch at / UpdateView
- python - 如何将多处理队列从 tkinter 类转移到工作类/函数
- windows - powershell 以管理员身份启动进程,我错过了什么
- php - 对象数组,按日期排序