- From: Håkon Wium Lie <haakon@wiumlie.no>
- Date: Fri, 5 Feb 2021 20:11:20 +0100
- To: www-style@w3.org
This message is a followup to discussions on this list in 2013 when page floats, column floats, and float-defer-* properties were discussed. Without implementations, it's been hard to make progress since. Therefore, I'm happy to report that we now have a fantastic implementation in Prince 14, which was released today. Here are guides to the features: https://www.princexml.com/howcome/2021/guides/float/ Cheers, Håkon Wium Lie haakon@wiumlie.no www.wiumlie.no +47 90192217 On 28 Feb 2013, I wrote: > In our quest for newspaper- and magazine-like layout in CSS -- both on > paper and screens -- some milestones have been reached. By combining > multicol layout with page floats, some amazingly beautiful, scalable > and responsive pages can be built. Here are examples, code examples > and screenshots: > > http://www.wiumlie.no/2013/02-reader/ > > All examples are written in 10 lines of CSS code [1]. The basic trick is: > > html { overflow: paged-x } /* turn on paging */ > article { columns: 20em } /* turn on multicol */ > img { float: top; column-span: 2 } /* float figures, span across columns */ > > There are now three implementations that support these features: > Opera's Presto engine, and Opera's Webkit implementation, and Prince.. > If you have Opera 12, you can find a prefixed document here: > > http://www.wiumlie.no/2013/reader/news/i1prefix.html > > The motivational real-world layout example for the first document is here: > > http://www.wiumlie.no/2013/reader/clippings/newspaper.jpg > > It's impossible to know what the newspaper designer would have wanted in > different-sized spreads, but I think the screenshots showcase > reasonable renditions in just about any viewport size, Without using > media queries. > > The GCPM editors's draft has been slightly revised based on > implementation and demo-writing experience. A few new levers have been > added to page floats: > > - it seems that specifying 'clear' on top/bottom floats is required, > so that one can avoid stacking floats. Given this functionality > [3], one can e.g. say that there should only be one image per > page. > > - also, it seems that one must be able to target certain columns, > e.g. the last or the next. E.g., the byline in the newspaper > article appears at the top of the second column. The functionality > is described here [4]. (Is there a better term than "defer"?) > > To some extent, these new levers replace previously defined > functionality. For example, to float an image to the top corner of the > article, I use this code in the screenshotted examples: > > img { float: top-corner; column-span: 2 } > > With the proposed editions, I would write: > > img { float: top; float-column-defer: last; column-span: 2 } > > Which isn't quite as readable. But it opens up for putting things in more places: > > img { float: top; float-column-defer: -3; column-span: 2 } /* negative numbers count columns backwards */ > > Column defers have not bee implemented yet. But they make sense, no? > > Another change to the ED is that @navigation has been renamed @laout > -- it's really about where pages are laid out. > > [1] And no JavaScript. CSS cod for font declarations and navbars excepted. > [2] http://dev.w3.org/csswg/css3-gcpm > [3] https://www.wiumlie.no/2013/gcpm/06-27#clearing-page-floats > [4] https://www.wiumlie.no/2013/gcpm/06-27#deferring-floats-float-defer-column-floa (Some URLs have been updated in the above quote) Håkon Wium Lie haakon@wiumlie.no www.wiumlie.no +47 90192217
Received on Friday, 5 February 2021 19:12:52 UTC