- From: MURAKAMI Shinyu <murakami@antenna.co.jp>
- Date: Sat, 11 Aug 2012 16:11:50 +0900
- To: fantasai <fantasai.lists@inkedblade.net>
- Cc: "www-style@w3.org" <www-style@w3.org>
fantasai <fantasai.lists@inkedblade.net> wrote on 2012/08/08 10:38:08 > So, one of the major issues left with CSS3 Fragmentation was specifying > the aliasing of page-break-* to break-*. Thankfully, Florian Rivoal came > up with a brilliant proposal! Not only does it solve the problem well, > it solves it easily. > > Basically, the proposal is to have page-break-* be a limited "shorthand" > for break-*. Since all UAs already have a mechanism to handle shorthands, > all the consequences of this aliasing should be already well-understood, > making it straightforward both to spec and to implement. > > Florian's full writeup, explaining various alternatives and their impacts, > is available at > http://wiki.csswg.org/ideas/aliasing > The proposal in question is the last one: Shorthand/Longhand Take 2. I've > added it to the editor's draft here: > http://dev.w3.org/csswg/css3-break/#page-break I am ok with this approach. It is nice the shorthand 'page-break-*: always' → longhand 'break-*: page' mapping. But I think it is not very good the shorthand 'page-break-*: avoid' → longhand 'break-*: avoid-page' mapping. I think the shorthand 'page-break-*: avoid' → longhand 'break-*: avoid' is better, because in most cases when we need to avoid page break we also need to avoid column or region break. For example, headings (h1-h6) usually have 'page-break-after: avoid' settings in existing stylesheets, and when they are used in multi-column or multi-region context, we expect that column/region breaks are also avoided. The idea of shorthand 'page-break-*' and longhand 'break-*' seems similar to XSL-FO's. XSL-FO has own 'break-before' and 'break-after' properties and keep-* properties, and CSS2 compatible 'page-break-*' shorthand properties, and the shorthand mappings are page-break-after: always → break-after="page" page-break-after: avoid → keep-with-next="always" here, the XSL-FO property 'keep-with-next' consists both 'keep-with-next.within-page' and 'keep-with-next.within-column' and it means 'page-break-*:avoid' avoids not only page breaks but also column breaks in XSL-FO. (See http://www.w3.org/TR/xsl11/#page-break-after for details.) I want XSL-FO and CSS properties with same names are compatible. I have one more question. I think the value 'always' and 'avoid' are not necessary for page-* properties, because 'always' should be same as 'column' and 'avoid' should be same as 'avoid-column'. (if not in multi-column context, a column break is a region break, and if not in multi-region context, a region break is a page break) Is this understanding wrong? BTW, I think this is a editorial error that recto and verso values are missing in the break-before value definition: http://dev.w3.org/csswg/css3-break/#break-before Name: break-before Value: auto | always | left | right | page | column | region | avoid | avoid-page | avoid-column | avoid-region ... Name: break-after Value: auto | always | left | right | recto | verso | page | column | region | avoid | avoid-page | avoid-column | avoid-region -- MURAKAMI Shinyu http://twitter.com/MurakamiShinyu Antenna House Formatter: http://www.antennahouse.com
Received on Saturday, 11 August 2012 07:12:12 UTC