[css3-page] Rules for Pagination into Varying-Width Pages

Rules:

   * Layout is performed per-page, with each page continuing progress from the
     breakpoint on the previous page, but recalculating sizes assuming an initial
     containing block of the current page size.
   * Intrinsic sizes are calculated and maintained across the entire element. Where an
     ICB size is needed, assume an initial containing block of the starting page's size.
   * Continuations of boxes on a previous page must start at the top of the page.
     If this results in multiple shrinkwrapped floats side-by-side that would otherwise
     be staggered (if they were not continuations), the floats' widths are reduced
     in proportion to their original widths until they fit. However they are not
     reduced past their min-content width; this may result in overlap between left and
     right floats or side-by-side left floats overflowing the containing block.

Implications:

   * Boxes (including tables) fullfilling layout constraints at their fill-available
     size will change widths across pages.
   * Boxes (including tables) fulfilling layout constraints at their min-content,
     max-content, or fixed-width size will maintain their width across pages.
   * Floats might overlap if, e.g. a left float and a right float both begin on a
     wide page, but their min-content or fixed-width measures taken together are too
     wide to fit on the second, narrower page. (They will not overlap if only their
     max-widths are too wide, since the shrinkwrap adjustment will give them narrower
     widths.)

~fantasai

Received on Monday, 19 September 2011 17:27:09 UTC