[css2.1] baseline of a table

section 17.4 and says

"The anonymous [table container] box is a 'block' box if the table is block-level, and an 'inline-block' box if the table is inline-level, except that this block is never considered as a block for 'run-in' interaction, and that the table box (NOT THE ANONYMOUS BOX) is used when doing baseline vertical alignment for an 'inline-table'."

Then 17.5.3 and says

"The baseline of a cell is the baseline of the FIRST IN-FLOW LINE BOX<http://www.w3.org/TR/CSS21/visuren.html#line-box> IN THE CELL, OR THE FIRST IN-FLOW TABLE-ROW in the cell, whichever comes first. If there is no such line box or table-row, the baseline is the bottom of content edge of the cell box."

The latter can be understood (as we did) in a way where if a top caption is the first line box it provides the baseline. No current implementation does it that way though:

*         Opera and Firefox3 align on the first line of first row of a table

*         Safari puts baseline of a table at the bottom of its anonymous box (which appears to contradict 17.4).

None of the observed behaviors can be formally considered incorrect though, as 17.5.3 talks about baseline of a *table cell*, I see no text that would define baseline of a *table*.

If the first behavior is considered correct the attached example spell "vertical align base line" in one line.

Is that the right way to interpret the spec? If it is, can we add language that would actually define where baseline of the whole table should be?

Received on Wednesday, 19 March 2008 02:29:21 UTC