The table system in HTML is very row-centric. Rows are labeled
explicitly, but the number of columns is just implied by the number
of cells in the longest row. In other words, if all the rows have
three <td>s, then the table has three
columns. If one row contains four <td>s and
all the others contain two, the browser displays the table with four
columns, adding blank cells to the shorter rows. HTML 4.01 includes
an advanced system for describing table structure that includes
explicit column tags. This system is discussed in the "Row and
Column Groups" section of this chapter.
One of the tricks of designing tables is understanding what aspects
of the table are controlled at the table, row, and cell levels.