[css3-exclusions] Reconciling exclusions and floats

Commenting on:

http://dev.w3.org/csswg/css3-exclusions/#wrap-flow-property

I'm bothered by the relationship of the wrap-flow property to the float property. Right now in CSS2.1 we have a very simple exclusion model, which is float:left and float:right. CSS3 GCPM proposes adding page floats that can be positioned in the corners of the page or at the top/bottom of columns. These seem like sensible additions as well.

What I don't understand is why we would move from a float-model of exclusions to a new model that applies to all block-level elements, even normal flow elements. What is the value of allowing exclusions to be applied to arbitrary layout schemes? If we instead implemented precise positioning of floats, e.g., the "positioned floats" idea, then we could limit exclusions to be applicable only to floats.

Then you could imagine that a float that goes to the top right corner of a page is actually just shorthand for:

float: positioned;
position: page;
top: 0;
right:0;

With the additions of centering and paged positioning schemes, isn't a positioned float sufficient to express all of the exclusions one might desire? I also think the layout processing model is simpler if we limit exclusions just to floats (positioned or otherwise).

Are there any use cases that can be provided of a real-world exclusions-based layout that cannot be achieved with floats and positioning?

I'd love to see the CSS3 Exclusions and Shapes module just turn into the CSS3 Floats module and define positioned floats, define rules for how content flows around the floats, and then define shapes as well.

dave
(hyatt@apple.com)

Received on Friday, 17 February 2012 21:07:36 UTC