Re: [css3-multicol] column overflow

On Fri, Oct 17, 2008 at 8:50 AM, Håkon Wium Lie <howcome@opera.com> wrote:

> Also sprach David Hyatt:
>
>  > Let's say you had way more text in your example, such that you had 3
>  > tiny columns and 24 more columns in the current implementations (all
>  > spilling out horizontally).
>  >
>  > Are you proposing that those 24 extra columns would be stacked
>  > vertically in 8 overflowing rows of 3?
>
> Yes.
>
>  > I think this would be ideal, since I could hit "page down"
>  > scrolling and read each "column page."
>
> Indeed.
>

It's worth trying, and fairly easy to implement.

One issue is that normally, when you scroll down by a page, Firefox (and I
think other apps) scrolls down by a little less than the full page height so
that some content that was at the bottom of the previous page is visible at
the top of the new page --- this gives users some retained context. So if
you do the obvious thing, say html { height:100%; column-width:20em; },
repeated page-down will not put the column tops at a constant offset from
the viewport top. We could special-case the page down amount for, say,
scrollable elements that use columns and the viewport when the root element
is using columns, but that's not a perfect solution.

In general, when you want to put columns on an element that isn't the only
child of a scrollable container, I think this is not going to work all that
well. I don't know what would, but that's a problem I'd really like to
solve.

Another issue is that you're likely to end up with some completely empty
columns at the end of the element, which will be ugly, especially if the
first column of the last horizontal set is not full. I suppose we could
balance the last horizontal set, but then should we balance the first
horizontal set if it's the only one?

I suppose that if we chose this behaviour, authors could still opt-in to the
horizontal overflow behaviour by setting the element with columns to be
width:intrinsic-width. That would be nice.

Rob
-- 
"He was pierced for our transgressions, he was crushed for our iniquities;
the punishment that brought us peace was upon him, and by his wounds we are
healed. We all, like sheep, have gone astray, each of us has turned to his
own way; and the LORD has laid on him the iniquity of us all." [Isaiah
53:5-6]

Received on Thursday, 16 October 2008 20:44:42 UTC