17
edits
(→Tables) |
(→Tables) |
||
Line 16: | Line 16: | ||
nsTableCellFrame | nsTableCellFrame | ||
Only the nsTableCaptionFrame and nsTableCellFrames will hold non-table frames. | |||
The nsTableCellFrame creates a block inside (the so called inner table cell frame) which will hold non table frames. | The nsTableCellFrame creates a block inside (the so called inner table cell frame) which will hold non table frames. | ||
The attempt to create table foreign frames below any table frame but the caption and the inner table cell frame invokes the table pseudo frame creation. | The attempt to create table foreign frames below any table frame but the caption and the inner table cell frame invokes the table pseudo frame creation. | ||
The outer table frame is a pseudo frame that will be created around every table frame. The outer table frame can hold also a caption. Around a caption currently a outer table frame will be created and an empty table frame. The outer table frame reflow treats the caption as optional and the table frame as mandatory. | |||
As soon as there is one table cell frame the existence of a colgroup is mandatory. | For every column in a table occupied by cells will be a column frame. There might be more columns, but never less. | ||
Column frames will always be children of colgroup. A colgroup can not have other children then column frames. A column frame is a leaf. | |||
We distinguish three types of columns, content based (defined by a col tag), anonymous by colgroup (<colgroup span>) or due to the cells in the table. As a consequence there are three types of colgroups, content based (defined by a colgroup tag), anonymous around a col tag, anonymous around anonymous columns for table cells. This anonymous colgroup is always the last colgroup. Its a separate colgroup. As soon as there is one table cell frame the existence of a colgroup is mandatory. | |||
A table row will always be encapsulated in a row roup. In this sense the rowgroup is not optional. However a empty table frame is possible | A table row will always be encapsulated in a row roup. In this sense the rowgroup is not optional. However a empty table frame is possible. | ||
=== Grids === | === Grids === |
edits