css 带有额外全宽列的HTML表格行

hmae6n7t  于 5个月前  发布在  其他
关注(0)|答案(2)|浏览(61)

我有一个HTML表格,其中有许多行和多个列。我想将td附加到其中的一些行,这样td看起来就像一个新行,并跨越表格的整个宽度。这对于将单个表格行的所有数据保存在同一个tr标记下非常有用,并允许我显示与同一行相关的额外数据,但这些数据不会适合在一个表列中,就像长格式的笔记。例如:

<table>
  <thead>
    <th>Col 1</th>
    <th>Col 2</th>
    <th>Col 3</th>
  </thead>
  <tbody>
    <tr>
      <td>First</td>
      <td>Second</td>
      <td>Third</td>
      <td class="magic" colspan="3">
        This is long-form data that should look like a full-width
        row without creating an extra tr tag to hold it.
      </td>
    </tr>
  </tbody>
</table>

字符串
请注意,同一个表还使用了jquery-ui的sortable API来允许拖放行以便对它们进行排序。
我如何做到这一点,而不弄乱我的标记与非法的div或放弃html表完全?

5t7ly7z5

5t7ly7z51#

您可以使用CSS flexbox属性来实现您正在尝试的功能,为您想要跨越宽度的特定行使用类选择器。
Flexbox有一个属性flex-direction,它让我们将组件的子组件流定义为columnrow
示例:Link to a codepen demo
PS:我还没有在jQuery UI上测试过它。

wd2eg0qa

wd2eg0qa2#

您可以使用colspan属性来实现:

<tr>
  <th colspan="5">Full-Width Row</th>
</tr>

字符串
将5替换为表中的列数。我还没有确认这是否适用于jQuery UI,但测试它是相当快的。

相关问题