W3C home > Mailing lists > Public > www-style@w3.org > March 2007

[CSS3 Page] Comments on CSS3 Paged Media (II)

From: fantasai <fantasai.lists@inkedblade.net>
Date: Sat, 31 Mar 2007 06:26:40 +1200
Message-ID: <460D5660.7040902@inkedblade.net>
To: www-style@w3.org

Margin Boxes
------------

   This section appears to be entirely informative.
   It might be helpful to mark it as such.

Maximum Dimension of margin boxes
---------------------------------

   # max box width, which is the sum of the width of the page's
   # left padding area, the width of the page area, and the width
   # of the page's right padding area. In other words, it is the
   # distance between the left page border and the right page
   # border.

   I would have expected this to be the distance between the
   page's border edges, not the page's padding edges. This is
   particularly relevant when the page has a thick border. The
   area aligned with the border becomes unaddressable this way.

    margin  border                               margin
   |      |#########| padding/content |#########|      |
   |      |#####################################|      |
   |___________________________________________________|

                     <---------------> current definition
           <-----------------------------------> my expectation

   (Also these definitions should use <dl> just like the previous
   ones.)

Dimension of margin boxes
-------------------------

   The definitions should use <dfn>, not "Definitions:" and quotes.

   It might be easier to understand if the subscripts were the
   margin box names rather than an arbitrary number.

   The third and fourth items in the list are exactly the same.
   I do not think this is intended.

   "min intrinsic width" and "max intrinsic width" are not defined.

   It is not defined what the used value of an auto-specified margin is.
   The last sentence of 7a doesn't seem to be backed up by the previous
   three sentences: rather they seem to address a separate concern.

   # The used values for bottom-left, bottom-center and bottom-right
   # are established by the same rules.

   s/are/margin boxes are/

   Append
     "as the top-left, top-center, and top-right margin boxes"

   # The used values for right-top, right-middle and right-bottom
   # boxes are established by the same rules as for left-top,
   # left-middle and left-bottom.

   Append "respectively".

   There are no rules covering the other dimension.

Margin boxes and default values
-------------------------------

   # Margin boxes have an initial value of zero for padding, border
   # and margin. The default height of top boxes is the value of the
   # page box's top margin. The default height of the bottom boxes is
   # the value of the page box's bottom margin.
   #
   # The initial value for 'content' is 'none'. The initial 'width'
   # and 'height' of margin boxes is 'auto'. The initial value of
   # text-align and vertical-align is defined below:

   Replace these two paragraphs with

     | The initial value of text-align and vertical-align for margin
     | boxes is defined below. All other properties take their initial
     | values {as defined by CSS2.1 | as given in their respective
     | property definitions}.

   Additionally, we should discuss whether you indeed want to change
   their initial values (and hence the meaning of the 'initial' keyword,
   which we may not want to mess around with) or rather to RECOMMEND
   that these be the UA defaults.

Populating margin boxes
-----------------------

   # A margin box is instantiated if a margin context is established
   # and one of the following conditions holds:
   #
   #  * The computed value of 'content' is not 'none'.
   #  * The properties 'width' and 'height' are set in the margin context.

   This condition should be collapsed to
      | A margin box is instantiated if the computed value of its
      | 'content' property is not 'none'.

   This is consistent with ::before and ::after, and if the author
   wants an empty margin box all they have to say is
      @margin-box { content: ""; }

   # Note that a counter value could be updated many times on a given
   # page. The value of the counter at the beginning of page processing
   # MUST be used by default.

   Since "page processing" is not defined, it is not clear what "the
   beginning of page processing" means.

Page Breaks
-----------

   # The following sections explain page formatting in CSS3 paged media.

   s/page formatting/page breaking/ ?
   s/paged media/Paged Media/

Break before/after elements
---------------------------

   # page break before (after, inside)

   I would use slashes here: "page break before/after/inside"

Using named pages
-----------------

   # If a block box with inline content has a 'page' property that
   # is different from the preceding block box with inline content,
   # then one or two page breaks are inserted between them, and
   # the boxes after the break are rendered on a page box of the
   # named type.

   I'm not quite understanding this.

   What happens in the following example
     <div>
       <p>...</p>
     </div>
     <div>
       <p>...</p>
     </div>
   if all elements have different named values for 'page'? Is there
   a break between the beginning of the <div> and its child <p>?
   Is there a break between <div> as well? What happens if I have
   sibling blocks that do not have content, but are otherwise visible
   due to borders etc: does this mean I can't use named pages for them?

Allowed page breaks
-------------------

   # In the vertical margin between block boxes (or rows in a table).
   # When a page break occurs here, the computed values of the relevant
   # 'margin-top' and 'margin-bottom' properties are set to  '0'.

   s/between block/between sibling block/
   -- clarifies that between a parent and its first child isn't valid
   s/computed/used/
   -- correction wrt 2.1 terminology
   s/relevant/adjoining/
   -- same term used in the margin collapsing definition

   We probably also need to say something about clearance, so perhaps

    | When a page break occurs here, it replaces any clearance and
    | the used values of any adjoining margins are set to '0'.

Forced page breaks
------------------

   # That is, no Content-empty pages are generated by page-break
   # properties, except for at most one Content-empty page as may
   # be required by :right and :left values to position ensuing
   # content on a right- or left-facing page.

   s/:right/right/
   s/:left/left/
   s/Content/content/

   It does not appear to be defined whether in
     <div></div>
     <p></p>
   with
     div { page-break-after: left; }
     p { page-break-after: always; }
   or
     div { page-break-after: left; }
     p { page-break-after: right; }
   the P's contents are required to appear on a left page, right
   page, or any page.

"Best" page breaks
------------------

   s/heuristics/guidelines/ ?

Page-based Extensions to Counters
---------------------------------

   You should specify whether or not page-based counters in scope
   for content elements on the page.

image-scaling
-------------

   # The contents of a replaced element with an intrinsic aspect
   # ratio (which may be derived from intrinsic dimensions) are
   # scaled as follows, and are applied to the used height and
   # used width of the replaced element's box.

   I think the second part of that sentence "and are applied ...
   box" should be deleted. It's not clear what it means, and it
   might be contradicting later parts of the text.

image-position
--------------

   # (This is an exception to the general rule that percentages are
   # computed to some other value before being inherited.)

   This sentence should be removed as it is no longer true in CSS2.1.

   # Note: areas of the box not covered by the replaced element will
   # show the element's 'background'.

   s/'background'/background/

~fantasai
Received on Friday, 30 March 2007 18:26:52 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Monday, 27 April 2009 13:54:50 GMT