- From: MURAKAMI Shinyu <murakami@antenna.co.jp>
- Date: Tue, 17 Sep 2013 03:31:36 +0900
- To: Håkon Wium Lie <howcome@opera.com>
- Cc: www-style@w3.org
Håkon Wium Lie <howcome@opera.com> wrote on 2013/09/16 19:31:40 > MURAKAMI-san wrote: > > > I have read the CSS Page Floats editor's draft[1] (split from CSS3 GCPM) > > and comparing with our (AntennaHouse) page floats implementation[2] > > and have some questions. > > Thanks for your long message. You make many good points and I will go > through in detail. However, I have a clarifying question and a few > comments to the first part of your message. > > > [1] http://dev.w3.org/csswg/css-page-floats/ > > [2] http://antennahouse.com/CSSInfo/float-extension.html > > > > > > float-defer-column/page > > ----------------------- > > > > Example 10 > > > > Float figure to the top of the column that follows the natural column: > > .figure { float: top } > > .figure { float-defer-column: 1 } > > > > This seems to correspond to our '-ah-float: top next column'. > > However in most cases, 'auto-next' is more preferable than 'next'. > > I don't understand the 'auto-next' value, as defined and implemented > by AH. The deifinition is: > > auto-next: The float is moved to the next page (or column) if there > is no sufficient space in the current page (or column). > > However, if there isn't enough space in the current page/column, the > float must be moved to the next page/column anyway. So, I don't > understand what effect the value has. The 'auto-next' is the default behavior of AH pages floats, and I thought that 'float-defer-column: none' would be the same. http://antennahouse.com/CSSInfo/float-extension.html#axf.float-move Initial: auto auto: Same as keep if float-y is none, same as auto-next otherwise. 'float-y is none' means this float is not a page float. > It seems similar to the 'unless-room' value found here: > > http://www.w3.org/TR/css3-gcpm/#float-modifiers > > However, the effect of 'unless-room' is that it turns on floating; if > there is enough room, the element will not be floated. But 'auto-next' > only applies to floats, so it it is not the same as 'unless-room'. However 'auto-next' can apply to non-page floats. .figure { -ah-float: left auto-next; } This float is almost same as normal 'float: left', but when there is no sufficient space in the current page/column and a page/column break occurs at before the float, the blank space remains with normal 'float: left' (the text following the float moves to the next page together with the float) and no such blank space remains with 'auto-next'. This effect is similar to the 'float: snap(0)', although 'auto-next' cannot change non-float to a float and cannot change non-page float to a page-float. > Perhaps we could have an alias like: > > "snap(0)" == "make-me-a-float-if-I-cause-a-column-break-so-that-I-dont-create-a-big-ugly-block-of-whitespace" > > There's a discussion on the topic here: > > http://www.princexml.com/forum/topic/2379/float-unless-fit-vs-unless-room Thanks, interesting. One question: <div style="margin-left: 3cm; margin-right: 3cm"> ... <figure style="float: snap(0); width: 100%;"> ... </figure> </div> If snap(0) makes itself a page float conditionally, the width of the figure also will be changed? (When this figure is a page float, the 100% width is the column/page width and the margin-left/right of the div does not affect the width of the page float.) Regards, Shinyu Murakami Antenna House
Received on Monday, 16 September 2013 18:31:58 UTC