我如何重新排列表格显示,以便每个 th 都高于它的特定 td?

编码之夜2000

我有一个包含 1 个描述文本和 5 个 td(链接)的表格。

jsfiddle here

我正在尝试更改移动设备表格的显示。所以 th(描述文本)将在 1 行中居中。在它下面,在不同的行中,5 个 td 将占用 100% 的宽度。

这是我想要展示的桌子: 欲望展示

起初,我尝试为此使用 flexbox。使用 tr 作为容器,然后我尝试将 th(描述文本)放在 1 个 div 中,将 5 个 tds 放在第二个 div 中。但不幸的是,这不起作用,因为似乎 div 不能是 tr 的直接子级。

由于某些原因,我必须保持表格结构。

任何想法如何获得我的特定显示目标?谢谢

用户7207170
  • 由于您需要categoryText单独位于不同的行中,只需为它创建一个单独的行colspan="5"(它占用 5 个列空间),因为每行将占用 5 个列宽。
  • 然后,您可以使用text-align:center对齐内容在中心各自的细胞。

您不能在 tr 外部或直接在 tr 内部使用 div将其作为 flex 应用以更改布局。您可以将 div 包装在您的 th 或 td 中,但这对您想要实现的目标也无济于事,如果您希望表格像“使行包装”那样具有响应性,则不应使用 html 表格全部,而是使用flexboxgrid来实现它。

#table1 {
  width: 100%;
  text-align: center;
}

tbody tr.rowTr > td {
padding-bottom:1em;
}
<table id="table1">
  <tbody>
    <tr class="rowTr">
      <th class="category" colspan="5">categoryText</th>
    </tr>
    <tr class="rowTr">
      <td class="tabkeTd" id="tabkeTd11"> <a href="#"> td 1 </a>
      </td>
      <td class="tabkeTd" id="tabkeTd12"> <a href="#"> td 2 </a>
      </td>
      <td class="tabkeTd" id="tabkeTd13"> <a href="#"> td 3 </a>
      </td>
      <td class="tabkeTd" id="tabkeTd14"> <a href="#"> td 4 </a>
      </td>
      <td class="tabkeTd" id="tabkeTd15"> <a href="#"> td 5 </a>
      </td>
    </tr>
    <tr class="rowTr">
      <th class="category" colspan="5">categoryText</th>
    </tr>
    <tr class="rowTr">
      <td class="tabkeTd" id="tabkeTd11"> <a href="#"> td 1 </a>
      </td>
      <td class="tabkeTd" id="tabkeTd12"> <a href="#"> td 2 </a>
      </td>
      <td class="tabkeTd" id="tabkeTd13"> <a href="#"> td 3 </a>
      </td>
      <td class="tabkeTd" id="tabkeTd14"> <a href="#"> td 4 </a>
      </td>
      <td class="tabkeTd" id="tabkeTd15"> <a href="#"> td 5 </a>
      </td>
    </tr>
  </tbody>
</table>

下面是一个额外的代码结构,完全使用 flexbox 来达到预期的效果:

下面只是一个演示,您可以使用媒体查询并根据您的要求对其进行调整。

#table1 {
  width: 100%;
}

.tbody .tr > span:nth-child(n+1) {
  padding-bottom: 1em;
}

.tbody {
  width: 100%;
}

.tbody .tr {
  display: flex;
  width: 100%;
  align-items: center;
  justify-content: space-around;
  flex-direction: row;
  flex-flow: row wrap;
}

.tbody .row {
  text-align: center;
}

@media only screen and (max-width: 700px) {
  .tbody .tr .category {
    flex-basis: 100%;
    text-align: center;
  }
}
<div id="table1">
  <div class="tbody">
    <div class="tr">
      <span class="category">categoryText</span>
      <span class="tabkeTd" id="tabkeTd11"> <a href="#"> td 1 </a>
      </span>
      <span class="tabkeTd" id="tabkeTd12"> <a href="#"> td 2 </a>
      </span>
      <span class="tabkeTd" id="tabkeTd13"> <a href="#"> td 3 </a>
      </span>
      <span class="tabkeTd" id="tabkeTd14"> <a href="#"> td 4 </a>
      </span>
      <span class="tabkeTd" id="tabkeTd15"> <a href="#"> td 5 </a>
      </span>
    </div>
    <div class="tr">
      <span class="category">categoryText</span>
      <span class="tabkeTd" id="tabkeTd11"> <a href="#"> td 1 </a>
      </span>
      <span class="tabkeTd" id="tabkeTd12"> <a href="#"> td 2 </a>
      </span>
      <span class="tabkeTd" id="tabkeTd13"> <a href="#"> td 3 </a>
      </span>
      <span class="tabkeTd" id="tabkeTd14"> <a href="#"> td 4 </a>
      </span>
      <span class="tabkeTd" id="tabkeTd15"> <a href="#"> td 5 </a>
      </span>
    </div>
  </div>
</div>

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

td:hover突出显示该td的th

来自分类Dev

表格调整 th 和 td 的行宽

来自分类Dev

如何使用Beautifulsoup检索<th> <td>

来自分类Dev

如何在 Umbraco 中根据 <th></th> 匹配表 <td></td>

来自分类Dev

如何将我的桌子的td与th对齐?

来自分类Dev

选择“属于”特定<th>元素的所有<td>元素

来自分类Dev

rvest 抓取,获取特定 th 的 td(来自 Python 的翻译)

来自分类Dev

编辑javascript在对应的th下显示td

来自分类Dev

我如何将表(tr th:偶数和tr td:even和th:odd和td:odd)追加到新表

来自分类Dev

如何使用 .each jQuery 来获取 <th> id 并为每个 id 设置 <td> 属性?

来自分类Dev

我需要TH中的可调整大小(jQuery ui)div不要小于TD宽度或使TD溢出:隐藏

来自分类Dev

当<td>具有不同的宽度时,使<th>垂直边框在整个表格中连续

来自分类Dev

如何使用在<tr>标记下包含<th>和<td>标记的行来解析HTML表?

来自分类Dev

如何将对应的表头(th)复制到其表单元格(td)?

来自分类Dev

javascript-如何将表th转换为li和td转换为<p>?

来自分类Dev

如何在滚动条上使用“位置:粘性”在td / th中添加或删除阴影?

来自分类Dev

如何将对应的表头(th)复制到其表单元格(td)?

来自分类Dev

如何为动态表Td添加一个div(不是Th)

来自分类Dev

如何在不影响<td>宽度的情况下更改<th>的宽度

来自分类Dev

如何将数据从 JSON 循环到数据表中的 TH 和 TD?

来自分类Dev

如何移动表格中的特定 td 元素

来自分类Dev

提取所有TD或TH列

来自分类Dev

从 <td> 获取值,其中 <th> 匹配文本

来自分类Dev

如何编写可放置td的接受条件,以便它仅接受表中的邻居td

来自分类Dev

为什么在Mozilla和IE中没有显示<th>或<td>边框(我在这些<th>或<td>上使用了Jquery UI resizable()函数),但对于chrome却可以正常工作?

来自分类Dev

如何定位仅包含特定文本的 <th>?

来自分类Dev

如何在HTML表格中获取<td>以适合内容,并让特定的<td>填写其余内容

来自分类Dev

如何获取特定类的td nodeValue?

来自分类Dev

如何查找表的特定列的相邻td

Related 相关文章

  1. 1

    td:hover突出显示该td的th

  2. 2

    表格调整 th 和 td 的行宽

  3. 3

    如何使用Beautifulsoup检索<th> <td>

  4. 4

    如何在 Umbraco 中根据 <th></th> 匹配表 <td></td>

  5. 5

    如何将我的桌子的td与th对齐?

  6. 6

    选择“属于”特定<th>元素的所有<td>元素

  7. 7

    rvest 抓取,获取特定 th 的 td(来自 Python 的翻译)

  8. 8

    编辑javascript在对应的th下显示td

  9. 9

    我如何将表(tr th:偶数和tr td:even和th:odd和td:odd)追加到新表

  10. 10

    如何使用 .each jQuery 来获取 <th> id 并为每个 id 设置 <td> 属性?

  11. 11

    我需要TH中的可调整大小(jQuery ui)div不要小于TD宽度或使TD溢出:隐藏

  12. 12

    当<td>具有不同的宽度时,使<th>垂直边框在整个表格中连续

  13. 13

    如何使用在<tr>标记下包含<th>和<td>标记的行来解析HTML表?

  14. 14

    如何将对应的表头(th)复制到其表单元格(td)?

  15. 15

    javascript-如何将表th转换为li和td转换为<p>?

  16. 16

    如何在滚动条上使用“位置:粘性”在td / th中添加或删除阴影?

  17. 17

    如何将对应的表头(th)复制到其表单元格(td)?

  18. 18

    如何为动态表Td添加一个div(不是Th)

  19. 19

    如何在不影响<td>宽度的情况下更改<th>的宽度

  20. 20

    如何将数据从 JSON 循环到数据表中的 TH 和 TD?

  21. 21

    如何移动表格中的特定 td 元素

  22. 22

    提取所有TD或TH列

  23. 23

    从 <td> 获取值,其中 <th> 匹配文本

  24. 24

    如何编写可放置td的接受条件,以便它仅接受表中的邻居td

  25. 25

    为什么在Mozilla和IE中没有显示<th>或<td>边框(我在这些<th>或<td>上使用了Jquery UI resizable()函数),但对于chrome却可以正常工作?

  26. 26

    如何定位仅包含特定文本的 <th>?

  27. 27

    如何在HTML表格中获取<td>以适合内容,并让特定的<td>填写其余内容

  28. 28

    如何获取特定类的td nodeValue?

  29. 29

    如何查找表的特定列的相邻td

热门标签

归档