Или общее количество ячеек должно быть равно столбцам * строкам
?
Кажется, что таблица с разным количеством ячеек в разных строках проходит валидатор W3.
Это не противоречит определению. Но вы должны использовать атрибут colspan , чтобы расширить столбец до всей строки:
<table>
<tr>
<td>Row with</td>
<td>2 cols</td>
</tr>
<tr>
<td colspan="2">Row with only one col</td>
</tr>
</table>
Это также поможет, если у вас есть границы вокруг ячеек.
У вас могут быть даже таблицы со столбцом, который расширяется до двух строк:
<table>
<tr>
<td rowspan="2">First column in row 1 and row 2</td>
<td>Second column in row 1</td>
</tr>
<tr>
<td>second column in row 2</td>
</tr>
</table>
Вы можете использовать colspan
, но сумма, включая значения colspan
, должна быть одинаковой для правильного отображения таблицы.
<table>
<tr>
<td colspan="2">blah</td>
</tr>
<tr>
<td>blah</td>
<td>boo</td>
</tr>
</table>
В первой строке одна ячейка, но она охватывает 2 ячейки из-за colspan
, вторая строка состоит из двух ячеек, и это совершенно верно.
Да, может. В table > tr > td
, td
содержит содержимое. Td
ссылка здесь: http://www.htmlcodetutorial.com/tables/_TD.html. В этой ссылке вы можете увидеть, что TD имеет 2 атрибута, а именно: colspan и rowspan. Используя эти 2 атрибута, таблица может иметь разное количество ячеек в разных строках.
<table border="1">
<tr>
<td>a</td>
<td>b</td>
</tr>
<tr>
<td colspan="2">c</td>
</tr>
</table>
И
<table border="1">
<tr>
<td rowspan="2">a</td>
<td>b</td>
</tr>
<tr>
<td>c</td>
</tr>
</table>
Да, вы можете сделать HTML-таблицу и оставить без элементов Рекомендуемый способ создания таблицы с разным количеством ячеек в строке - использовать в некоторых строках, но это считается плохой формой, потому что вы не можете быть уверены, как HTML-рендерер (браузер) обработает эту ситуацию. В разных браузерах она может отображаться несколько по-разному.
colspan
для объединения двух или более соседних ячеек в одну. Это позволит сохранить крайние правые ячейки выстроенными в нужные столбцы и устранит любую двусмысленность в отношении того, что вы хотите, чтобы HTML-рендерер сделал.
Похожие вопросы: