W3C home > Mailing lists > Public > www-style@w3.org > October 2010

Re: [css3-multicol] overflow and paging?

From: Tab Atkins Jr. <jackalmage@gmail.com>
Date: Mon, 11 Oct 2010 08:59:47 -0700
Message-ID: <AANLkTimnAfjhW2+gX-TYy_dGc9A=U__yHk9uT1Mf_Sx9@mail.gmail.com>
To: shelby@coolpage.com
Cc: www-style@w3.org
On Sun, Oct 10, 2010 at 9:30 PM, Shelby Moore <shelby@coolpage.com> wrote:
> Seems to that when a container element on the page has overflow that
> scrolls vertically (e.g. <div style='overflow:auto'>), then any contained
> columns should be formatted as if they are paged media with a height equal
> to the clientHeight of container.
>
> If I am viewing long multi-column content inside of a scrolling container,
> I don't want to have to scroll that container all the way from the bottom
> to top to read from one column to the next. Imagine that you don't flip to
> the last page of a newspaper back to first page, just to read from bottom
> of one column to the top of the next column.
>
> Also, I don't want to see the end-most content before I am forced scroll
> to see the content in the middle.
>
> I think this is a major oversight in the current specification.  I hope
> you will fix it.  Sorry to be frank, but as it is now, it makes my current
> website look sloppy and wrong.
>
> Realize I am not referring to paged media, where the entire browser window
> is being broken into pages.  I am referring to an element within the page
> which has its own vertical scroll page, which would include <iframe>.
>
> I suppose there are cases where the intention is for the columns to not
> paginate on clientHeight of the vertically scrollable container, and thus
> I suggest you need to declare a new style setting, such as
> paginate-scrollable-contrainer, which defaults to inherit, where the
> document defaults to the whether the media type is paged.

I'm pretty sure I speak for the group when I say that we recognize
that having a multicol element be higher than the viewport is bad.
Luckily, this can be fixed with a unit in CSS3 Values & Units, once
browsers support it.  Just set "max-height: 90vh;" or similar to
prevent the element from too tall.

Personally, if you're using multicol on your blog or similar, I
recommend having it default to a single-column presentation, then in
javascript measure the screen height, set an appropriate max-height,
and turn on multicol.  That ensures that your viewers have a decent
experience no matter what, given currently available technologies.

~TJ
Received on Monday, 11 October 2010 16:00:42 GMT

This archive was generated by hypermail 2.3.1 : Tuesday, 26 March 2013 17:20:32 GMT