- From: MURAKAMI Shinyu <murakami@antenna.co.jp>
- Date: Thu, 08 Jan 2009 18:24:15 +0900
- To: www-style@w3.org
- Message-Id: <20090108103733.C32B.C598BCD7@antenna.co.jp>
The current css3-page[1] and css3-multicol[2] drafts say that
margins will be set to zero where page or column breaks occur.
[1] http://dev.w3.org/csswg/css3-page/#allowed-pg-brk
... When a page break occurs here, the used values of the adjoining
'margin-bottom' and 'margin-top' properties are set to '0'.
[2] http://dev.w3.org/csswg/css3-multicol/#column0
Because the rules for column breaks are similar to rules for page
breaks, margins will be set to zero where column breaks occur.
I have some questions here:
1. Margins at beginning of document will be set to zero?
2. Margins at forced page breaks will be set to zero?
3. Margins at beginning of multi-column content will be set to zero?
4. Margins at forced column breaks (or forced page breaks in
multi-column content) will be set to zero?
I examined some existing implementations with the attached test files:
margin-at-break.html -- for test 1 and 2
margin-at-break-multicol.html -- for test 3 and 4
implementations:
Firefox 3.1 Beta 2
Safari 3.2.1
Prince 6.0r7
PDFreactor 3.0.3311
test results:
1. Margins at beginning of document will be set to zero?
Firefox=No
Safari=No
Prince=No
PDFreactor=Yes
2. Margins at forced page breaks will be set to zero?
Firefox=Yes
Safari=Yes
Prince=No
PDFreactor=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)
4. Margins at forced column breaks (or forced page breaks in
multi-column content) will be set to zero?
Firefox=Yes
Safari=? (forced column breaks not yet supported?)
Prince=Yes
PDFreactor=? (multi-column not yet supported)
Which implementation is right?
Antenna House Formatter v5 Beta currently handled these margins in a
compatible way with Prince, i.e., 1=No, 2=No, 3=Yes, 4=Yes.
But if the CSS specification is clearly defined, we will follow it.
For your information:
XSL-FO[3] has space-before and space-after properties similar to
margin-top and margin-bottom in CSS.
[3] Extensible Stylesheet Language (XSL) Version 1.1
http://www.w3.org/TR/xsl11/
Space-before and space-after are discarded by default at the beginning
or end of a reference-area ("flow root" in CSS, i.e., page, column,
table-cell etc.) and it can be changed with space-before.conditionality
and space-after.conditionality specification.
Example:
<fo:block space-before="2cm">
The space-before of this block is discarded at beginning of page or column.
</fo:block>
<fo:block space-before="2cm" space-before.conditionality="retain">
The space-before of this block is not discarded at beginning of page or column.
</fo:block>
--
Shinyu Murakami
http://www.antennahouse.com
Antenna House Formatter
http://www.antenna.co.jp/AHF/en/
Attachments
- text/html attachment: margin-at-break.html
- text/html attachment: margin-at-break-multicol.html
Received on Thursday, 8 January 2009 09:25:15 UTC