一种在html中将表格单元格组合在一起的方法?

时间:2012-03-23 22:42:30

标签: html html-table grouping cells

所以这很直截了当。我需要一种将细胞分组在一起的方法。像<div><span>一样,但它们都没有效果。 <tbody>似乎是一个很好的解决方案,但它只适用于表行。救命啊!

2 个答案:

答案 0 :(得分:1)

如果您正在寻找一种方法,可以将连续两个以上的单元格与其他“ 常规”单元格一起连续合并到一个单元格中在google | excel电子表格中执行)类似于以下方式:

Merged Cells inside a table with other regular rows

然后您可以对colspan元素使用td属性,指示您合并的单元格数:

<tr>
  <td colspan=2> Merged Cell occupying 2 columns </td>
</tr>
<tr>
  <td> Regular cell </td>
  <td> Another cell in same row </td>
</tr>

此外,您可以在CSS中使用td[colspan]选择器(与您选择的任何父选择器结合使用)来引用这些合并的单元格。

这是一个可行的示例:

/* Style for cells with any colspan attribute */
td[colspan] {
  text-align: center;
}

/* No extra space between cells */
table {
  border-collapse: collapse;
}

th, td {
  border: 1px solid gray;
  margin: 0;
  padding: 3px 10px;
  text-align: right;
}
<table>
  <tr>
    <th>Day</th>
    <th>Invoice</th>
    <th>Total</th>
  </tr>
  <tr>
    <!-- this cell will occupy 3 columns -->
    <td colspan=3>January</td>
  </tr>
  <tr>
    <td>2</td>
    <td>0348</td>
    <td>248.35</td>
  </tr>
  <tr>
    <td>7</td>
    <td>0349</td>
    <td>126.14</td>
  </tr>
  <tr>
    <td>18</td>
    <td>0350</td>
    <td>821.99</td>
  </tr>
  <tr>
    <td colspan=3>February</td>
  </tr>
  <tr>
    <td>27</td>
    <td>0351</td>
    <td>643.50</td>
  </tr> 
</table>

答案 1 :(得分:0)

您可以添加html col标记,以对列td进行分组。

&#13;
&#13;
.col-group-1 {
  background-color: yellow;
 }

.col-group-2 {
  background-color: silver;
 }
&#13;
<table>
  <colgroup>
    <col class="col-group-1">
    <col span="2" class="col-group-2">
  </colgroup>
  <tr>
    <th>Name</th>
    <th>City</th>
    <th>Phone</th>
  </tr>
  <tr>
    <td>Mary</td>
    <td>New york</td>
    <td>987654321</td>
  </tr>
  <tr>
    <td>Magdalena</td>
    <td>Los Angeles</td>
    <td>123456789</td>
  </tr>
</table>

</body>
</html>
&#13;
&#13;
&#13;

请查看html col tag

以及如何将它们与css styling

一起使用