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

Re: [css3-multicol] overflow and paging?

From: Shelby Moore <shelby@coolpage.com>
Date: Tue, 12 Oct 2010 06:53:42 -0400
Message-ID: <9d8edea91c600959066f7abc750ec0b6.squirrel@sm.webmail.pair.com>
To: shelby@coolpage.com
Cc: "David Storey" <dstorey@opera.com>, "Tab Atkins Jr." <jackalmage@gmail.com>, www-style@w3.org
Aha! This is all on topic. See below...

> This discussion is afaics off topic from the point of this thread I
> started, yet it is important.  My reply is below, but I think it would be
> useful to move it to its own thread?
>
>> On 12 Oct 2010, at 08:35, Shelby Moore wrote:
>>
>>>>> OFF TOPIC: afaik the browser will never overlow to the right by
>>>>> making
>>>>> more columns than will fit into the width of the container element.
>>>>> So I
>>>>> am wondering why you mentioned a need to turn that off, if it never
>>>>> occurs? Thus I don't (yet) see the point of your second proposal.
>>>>
>>>> If you restrict the height of an element, and there are too much
>>>> content to fit into the columns you specify, the default behaviour is
>>>> to create new overflow columns to the right of the existing columns.
>>>> This happens in both WebKit and Gecko.
>>>
>>> OFF TOPIC: how can one restrict the height of the content? Are you
>>> sure?
>>> Afaik, max-height applies to the height of the element, not the
>>> height of
>>> the content.
>>
>> What I mean is you restrict the height of the element then there will
>> be text columns to that height (minus any padding), and will create as
>> many columns as are needed to fit the amount of text needed. If you
>> specify 3 columns it will create 3 columns to the height and width
>> specified then create overflow columns to the right of the same width
>> as the other columns until the content runs out.
>
> OFF TOPIC: sorry not trying to be a pain, but I still don't understand,
> and I am willing or interested to understand, if you could provide a
> simple HTML+CSS example? It seems to me (not sure if I tried it), that if
> you specify column-count:3, then you get 3 columns fit to the width of the
> container, with any excess overflow running out the bottom of the
> container.
>
> Are you referring to this non-standard behavior in Mozilla, as documented
> in the "Test 5" case at quirksmode? If yes, note that is with
> column-width, not column-count. And I suggest Mozilla needs to remove that
> non-standard behavior, or get it officially sanctioned with a setting to
> turn it off.
>
> http://www.quirksmode.org/css/multicolumn.html
>
> I haven't seen that behavior in my site using column-width.  Is it because
> I am setting both the width and the height of the container? Or is because
> I have overflow:auto?
>
> I really don't like undocumented behavior. Can someone from Mozilla
> explain?

Okay you were obviously describing case "Test 6" at the above link, which
I missed.

Here is the relevant part of the spec:

http://www.w3.org/TR/css3-multicol/#overflow-outside-multicol-elements

That part of the spec exacts says to do what I have posited in this
thread. Apparently the browsers have mis-interpreted that part of the
spec. Let me explain.

That part of the spec says that when the height is specified, then "column
height" must not exceed that height. But go back to the definition of
"column height", it does not mean that additional columns can not be
flowed below, rather is only means the maximum height of the columns per
row of columns.

Thus the browsers have implemented this wrong.  They are supposed to be
doing what I showed in the diagram of my prior comment in this thread,
which is that when both the width and height of the container are set, the
layout must create rows of columns overflowing vertically with maximum
column height equal to the container's height (minus padding). They are
overlowing vertically, but they are not setting the column height per the
spec.

Whereas, when the height is set and not the width, then they are free to
create more horizontal columns (to fill up the available width of the
parent of the container), disrepecting any column-count setting. This is
what David Storey is writing about, and this behavior agrees with the
spec. If you don't want that behavior David, simply set the width on the
container element.

If we can agree, I will go post bug reports for Mozilla and Chromium?  I
will let you others post bug reports at the other browsers.
Received on Tuesday, 12 October 2010 10:54:09 GMT

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