[css3-multicol/...] Pagination of (block) elements needed in CSS

Dear Forum,

a short context: As a former web developer I'm aiming to use HTML/CSS for publishing documents these days (instead of publishing them as PDF, which discards the semantic markup and therefore scrambles content).

In order to do so, however, it is mandatory that these documents render nicely! Meaning, their "look and feel" shall closely resemble that of PDFs, which in turn emulate paper.

For this reason alone, I find it important that CSS should allow for pagination of (arbtirary) content so that there shall be a notion of a page-break, i.e. an entity which occurs at regular intervals (normally along the vertical axis - but possibly also along the horizontal one) in the document.

While, personally, I find this requirement very reasonable to have for CSS3, I can see that some people may disagree, argueing that there is no need for pagination on a "continous" medium such as a scrollable screen. To them, I'd respond that having notion of such a regular "breaking grid" throughout a block element is generally useful, not only for the purpose of splitting pages.

Besides that, I've got a much more powerful argument in favor of pagination, though, which is based upon actual circumstances:

There is the css3-multicol module which allows children to be put into a multi-column layout. The problem with this approach, to what I understand, is that it requires the *content* to be of a specific size. If there is a lot of content (say, a long text), we run into the problem of each column being unreasonably high. A matter, which cannot be solved without giving notion of "breaking the page after a certain height".

Evidently, preparing markup in the content itsself, designating page-breaks is not an acceptable solution. We must not require content to carry styling information (let alone the fact, that such a solution is not flexible enough to provide the means for breaking pages evenly or always in the right spot).

I therefore propose that CSS3 is equipped with means to paginate arbitrary block-elements in a fashion similar to the following:

One may specify the pagination-width and -height for such elements. Their values act similar to max-width and max-height values, only that the block is then duplicated and the remaining content (broke at breakable whitespace and block children) is put into the duplicate, repeating the procedure.

kind regards,
Cedric

Received on Monday, 5 November 2012 21:43:20 UTC