RE: proposed new module: css3 floats and positioning

Also sprach Alex Mogilevsky:

 > Large subset of use cases for page floats is covered by "position:page; wrap-type:around" in this proposal. 

It seems that these are equivalent:

  position: page;
  wrap-type: around;
  top: 0;
  ~~~
  float: top;

and

  position: page;
  wrap-type: around;
  bottom: 0;
  ~~~
  float: bottom;

Is that right?

Using the top/right/bottom/left makes sense and adds expressive power
compared to "float: top" and "float: bottom".

However, for paged media one quickly gets into the inside/outside
issues, that you want figures to float to the next page if there isn't
room on the current page, etc. These are, seemingly, not addressed in
the current draft.

 > There may be timing reasons for what fits in CSS3 vs. CSS4, but
 > otherwise I think there should be one spec for floats. What do you
 > think?

The are are two main considerations: specs and implementations:

  implementations: browsers are unlikely to spend significant
  resources making book/magazine-type printouts. From this
  perspecitive it makes sense to have two different specifications.

  specs: to make sure the functionalty -- both the simple and the more
  advanced -- is consistently described. From this perspective it
  makes sens to have one specification.

As a start, I'd like to challenge you to describe these use cases in
your spec:

  - float a figure to the outside/inside of a page

  - float a figure to the top/bottom of the next page (while the normal flow
    continues unhindered)

  - float a figure to a named page

  - specify that a figure should snap to an edge if it come within a
    certain range. For example, if a float appears with only two lines
    of text below it, the float should snap to the bottom of the page
    while the two lines of text should appear over it.

-h&kon
              Håkon Wium Lie                          CTO °þe®ª
howcome@opera.com                  http://people.opera.com/howcome

Received on Wednesday, 18 May 2011 23:54:02 UTC