This example shows two different ways to render tables that are defined by HTML (and thus XHTML1) to be illegal, because of their specific combination of rowspan and colspan attributes.
The rendering on the left has two cells that overlap. The rendering on the right doesn't, but leaves a gap in the table.
In both tables, cells have gray backgrounds and a black border. Each contains a single digit as label. Cells are separated from each other by cell spacing.
The left table has a top row of four cells, containing, resp. the digits "1", "2", "3", and "4". The second of these cells, the one with the digit "2" in it, extends into the row below. The second row of the table contains one cell, which contains the digit "5", and it spans columns one and two. Thus, the cell labeled "2" and the cell labeled "5" overlap in the second row, second column. The overlap is depicted by a darker gray background.
The right table has the same top row of four cells, labeled "1", "2", "3", and "4". The second cell again spans rows one and two. The second row of the table contains one cell, containing the digit "5", that spans columns three and four. Thus, no cells overlap, but the first cell of the second row is left empty.