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

Re: [css3-multicol] column overflow

From: David Hyatt <hyatt@apple.com>
Date: Thu, 16 Oct 2008 17:22:02 -0500
To: Håkon Wium Lie <howcome@opera.com>
Cc: "www-style@w3.org List" <www-style@w3.org>, Robert O'Callahan <robert@ocallahan.org>
Message-id: <FC9407B0-4FD4-4DC9-A026-39E47B813F2C@apple.com>

On Oct 16, 2008, at 5:11 PM, Håkon Wium Lie wrote:

> Also sprach David Hyatt:
>
>> "One alternative method that has been suggested (most recently by  
>> David
>> Storey) is to place the overflow content underneath the first set.  
>> One
>> can think of this as cloning the original multicol element as many
>> times as necessary and stacking them on top of each other.
>> Margin/padding/border set on the original multicol elements will also
>> be honored for the cloned elements."
>>
>> How would you specify the vertical spacing between these column
>> pages?
>
> My initial proposal is just to apply the margin/border/padding
> properties to all multicolumn elements -- both the original and the
> cloned ones.

I don't think that's appropriate if the overflow mechanism is a  
scrollbar.  The scrollbar is inside the border box.  The multicol  
object may have positioned elements and other content inside it that  
has nothing to do with the columns, e.g., content that is positioned  
at the bottom right of the padding box (inside the scrollable area).

>
>
>> In the case of overflow:auto, I would not expect margins or
>> borders on the multicol element to be duplicated, since the scrollbar
>> sits just inside the border.
>
> We could still use margin/border/padding vertically, though?
>
>> Here are some ideas:
>>
>> (1) Perhaps the vertical padding on the multicol element could be  
>> used
>> to determine spacing.  The vertical space between any two column  
>> pages
>> could be max(padding-top, padding-bottom).
>
> This is a simple solution that could work. It raises the issue of
> where borders set on the multicol element should be drawn -- around
> (a) only the original multicol element, (b) around the original as
> well as every cloned element, or (c) one border around all elements.
>
> I favor (b).
>

I think it's wrong to think of this in terms of cloning the original  
multicol element.  All you're doing is making more column boxes inside  
that element (within the padding box).  Given that the multicol  
element can contain positioned content that has to be reachable via  
overflow I think (c) is the right answer.


>> (2) Reuse column-gap but apply it vertically.
>
> Pragmatic. But I think the vertical space will typically be wider than
> the gap.
>
>> (3) Make up a new property to control spacing between the pages...
>> column-page-gap or something. :)
>
> Or, (4) we could add another value to 'column-gap'.
>
> Ideally, I'd like to avoid adding new properties.

A pseudo element could also work here.

dave
(hyatt@apple.com)
Received on Thursday, 16 October 2008 22:22:44 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Monday, 27 April 2009 13:55:15 GMT