Так что это довольно прямолинейно. Мне нужен способ группировать ячейки вместе. Как a <div>
или <span>
, но никто из них не работал. <tbody>
показалось хорошим решением, но оно работает только для строк таблицы. Помогите!
Способ группировать ячейки таблицы вместе в html?
Ответ 1
Вы можете добавить тег html col
для группировки столбцов td
.
.col-group-1 {
background-color: yellow;
}
.col-group-2 {
background-color: silver;
}
<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>
Ответ 2
Если вы ищете способ объединить еще 2 ячейки подряд в одну отдельную ячейку вместе с другими "обычными" ячейками (как вы это сделали бы в электронной таблице Google | Excel) способом, подобным следующему:
затем вы можете использовать атрибут 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>
Кроме того, вы можете использовать селектор td[colspan]
в css (в сочетании с любым родительским селектором по вашему выбору), чтобы ссылаться на эти объединенные ячейки.
Вот рабочий пример:
/* 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>