One word: ambiguity. The cells have to be children of rows; it wouldn't be a table otherwise. But there is no column to descend from. Using colspan
means that one cell could be in two columns. Rather than trying to come up with some confusing way out, why not just let the developer place a class
on every nth cell?
If you look closely at the spec to which you link, you will see attempts at ambiguity resolution. The width
property specifies a minimum; the background
takes a backseat to the row and cell; and border
references a "conflict resolution algorithm". The only reason there is even an algorithm for border
is because it is reasonably understood who should "win" (see the algorithm for details). But could you imagine trying to figure out which color
or font
should "win"?