Re: [css3-gcpm] paged presentations, page floats, paged navigation between documents

On Oct 10, 2011, at 6:10 PM, Håkon Wium Lie wrote:

> The GCPM editor's draft [1] has been revised:
> 
>  - paged presentations [2] have been revised, based on an earlier
>    draft [3]
>  - page floats have been revised [4], including 'column-span: <integer>'
>  - paged navigation between documents [5] have been added 
> 
>> From a syntax perspective, these features are quite simple: a few new
> values on 'overflow', 'float', 'column-span', and a new @-rule
> (@navigation). Combined, these feature allows HTML/CSS to create
> compelling paged presentation with a few lines of code. For example,
> this code creates a layout commonly used in newspapers:
> 
>  html {
>    overflow: paged-x;
>    height: 100%;
>    columns: 20em;
>  }
>  .figure {
>    float: top-corner;
>    column-span: 2;
>    width: 100%;
>  }
> 
> Here are screenshots from Opera's experimental implementation:
> 
>  http://people.opera.com/howcome/2011/gcpm/ss
> 

I like using overflow (Robert O'Callahan and I shared that idea in a discussion years ago), but it's a bit weird given that overflow is a shorthand. What does it mean to set overflow-y: paged-x? It seems to me that it should be sufficient to simply have a value, "paged" and the author can set it using the appropriate overflow property, e.g.,

overflow-x: paged

instead of

overflow: paged-x

I think "paginated" might be a better name than "paged" but don't feel that strongly about it.

I would not have separate overflow values for showing controls. Ultimately I think built-in controls are not going to be very popular for this and that people are going to want to roll their own. There's going to need to be some DOM API for this feature I think (to avoid making people have to do all the math to figure out where columns are and to have to count pages themselves).

I also think given that overflow was resolved to be physical, that you very much need to avoid using -x and -y to mean logical directions. -x and -y need to be physical only.

> Media queries are used to create different presentations in portrait
> and landscape views. The ads are done by floating them to the next
> page, and spanning all columns. E.g.:
> 
>  .ad {
>     float: top next-page;
>     column-span: all;
>     width: 100%;
>     height: 100%;
>  }
> 

For the new float values, I really hope these are reconciled with positioned floats. For example, I would really like:

float: top

to be equivalent to:

float: positioned
position: column (or whatever term we come up with to mean nearest enclosing pagination context if we want to be more general)
top: 0

I'm fine with the new float values but feel like we need to evolve positioned floats to be the general mechanism for having control over positioning within a page/column/region and then let these keywords be syntactic sugar for common positioning schemes.

> The @navigation rule is used to position other documents around the
> current document. This way, user gestures can be used to navigate to
> the. As such, the "point-and-click" metaphor of the web is extended
> with "navigate-through-gestures". E.g.:
> 
>  <link rel=index href="...">
>  <link rel=next href="...">
> 
>  @-o-navigation {
>    nav-up: -o-link-rel(index);
>    nav-right: -o-link-rel(next);
>  }
> 
> I think these proposed features address some important aspects of
> layout and navigation that CSS can and should address.

I saw some -o- vendor prefixes in your examples still, so you may want to search for that in your document and replace.

dave
(hyatt@apple.com)

Received on Wednesday, 12 October 2011 00:49:50 UTC