Re: [css3-page][css3-multicol] margins at page or column breaks

Håkon Wium Lie <howcome@opera.com> wrote on 2009/01/09 4:39:50
>  > 1. Margins at beginning of document will be set to zero?
> 
> No. Arguably, this is inconsistent, but I belive authors will not
> understand why margins don't work on the first element they try it on.
> 
>  > 2. Margins at forced page breaks will be set to zero?
> 
> According to the spec, yes. (But I vaguely recall discussing this and
> reaching a different answer? Melinda? It could be argued that pages
> after forced page breaks should be treated like the first page.)
> 
>  > 3. Margins at beginning of multi-column content will be set to zero?
> 
> No.
^^^^^
> 
>  > 4. Margins at forced column breaks (or forced page breaks in
>  >    multi-column content) will be set to zero?
> 
> According to the spec, yes.


>  > 3. Margins at beginning of multi-column content will be set to zero?
>  > Firefox=Yes
>  > Safari=No
>  > Prince=Yes
>  > PDFreactor=? (multi-column not yet supported)
> 
> This should definitely be yes.
                            ^^^^
Correct?

> What do you think it should be?


I think we need new properties such as the following:

Name: margin-before-conditionality, margin-after-conditionality
Value: discard-at-break | discard | retain
Initial: discard-at-break
Inherited: no
Applies to: block-level elements

The 'margin-before-conditionality' affects the leading margin
(margin-top if block-progression is top-to-bottom) and the 
'margin-after-conditionality' affects the trailing margin 
(margin-bottom if block-progression is top-to-bottom).

discard-at-break
   The margin will be set to zero where page or column breaks occur.

discard
   The margin will be set to zero at beginning or end of a flow root box
   (i.e., page area, column box, table cell, inline-block, etc.)
   including where page or column breaks occur.

retain
   The margin will be retained.

Example:

  h1 {
    page-break-before: always;
    margin-top: 3cm; /* this margin is always retained */
    margin-before-conditionality: retain;
  }
  p {
    /* paragraph's margins should be discarded at beginning or end
       of multi-column elements or table-cells */
    margin-before-conditionality: discard;
    margin-after-conditionality: discard;
  }


-- 
Shinyu Murakami
http://www.antennahouse.com
Antenna House Formatter
http://www.antenna.co.jp/AHF/en/

Received on Friday, 9 January 2009 13:44:04 UTC