|1st col. & row||2nd col. thead||3rd col.||4th col.||5th col.|
|2nd row||thead hello||234 6 8||abcd||abcd|
|3rd row||tbody||abc||2 4 6||abc|
|4th row||tbody||ab||ab||5 7|
W3C CSS level 1,
Section 4 Formatting model
4.1.2 Horizontal formatting
"(...) if both 'margin-left' and 'margin-right' are 'auto', they will be set to equal values. This will center the element inside its parent."
W3C CSS level 2.1,
Section 10 Visual formatting model details
10.3.3 Block-level, non-replaced elements in normal flow
"If both 'margin-left' and 'margin-right' are 'auto', their used values are equal. This horizontally centers the element with respect to the edges of the containing block."
Note 3: Rules attribute values groups, cols, rows should only be rendered when in border-collapse: collapse model.
"In this model [border-collapse: separate model], (...) Rows, columns, row groups, and column groups cannot have borders (i.e., user agents must ignore the border properties for those elements). (...) In the collapsing border model, it is possible to specify borders that surround all or part of a cell, row, row group, column, and column group. Borders for HTML's 'rules' attribute can be specified this way."
CSS 2.1, Section 17.6.1 The separated borders model (border-collapse)
Note 4: there is a bug in Opera 11 involving logical versus document order of rows which will affect the working of this DHTML for the last 3 rows.