XP Mail Archive: XP> Table column width algorithms

XP> Table column width algorithms

From: SILBERNAGEL,SCOTT (HP-Vancouver,ex1) (scott_silbernagel@hp.com)
Date: Fri Nov 15 2002 - 13:53:00 EST

  • Next message: ElliottBradshaw@oaktech.com: "Re: XP> Table column width algorithms"

    Hello,

    The following are comments to the latest update slides from the New Orleans
    PWG meeting.

    Taken from Slide #22:

    XHTML-Print: 3.8 Basic Tables Module
            · Column width may vary from page to page when width is
            determined by td content.

    Allowing column width to vary page to page would be inconsistent with the
    way table column widths are normally computed and rendered (in browsers and
    according to CSS2). Table columns are normally computed (and fixed for the
    entire table) solely on either: the first tr element and its child td/th
    elements (table-layout: fixed) -or- all tr and td/th elements in the table
    along with the contents of those td/th elements (table-layout: auto).

    When using the auto column width algorithm, column widths will be large
    enough to handle the widest td/th in the table and varying the column widths
    page by page would never be necessary. Unfortunately, a minimally
    conforming printer cannot be forced to use this algorithm since it is not
    always possible to store the entire table in memory.

    This leaves us with the fixed algorithm for computing column widths. With
    the fixed method, column widths are only computed by looking at the first tr
    element and the widths of the first rows cells. The CSS2 specification
    clearly states that the cells beyond the first table row do not affect
    column widths (section 17.5.2):

    <quote>
    In this manner, the user agent can begin to lay out the table once the
    entire first row has been received. Cells in subsequent rows do not affect
    column widths. Any cell that has content that overflows uses the 'overflow'
    property to determine whether to clip the overflow content.
    </quote>

    So, in my opinion, allowing varying column widths in a single table would
    conflict with statements made in the CSS2 spec as well the "standard"
    rendering of web pages by popular web browsers (IE, Opera,
    Mozilla/Netscape).

    Other questions/concerns:

    If we did allow table columns to vary page-by-page, how would this behavior
    affect table cells that span multiple pages? Would they suddenly get wider
    or narrower when crossing a page boundary or would we only vary column
    widths between rows? If we only varied between rows, the table would look
    pretty strange (cell borders between columns would not line up...).

    Scott Silbernagel
    Hewlett-Packard



    This archive was generated by hypermail 2b29 : Fri Nov 15 2002 - 13:53:26 EST