W3C home > Mailing lists > Public > www-style@w3.org > September 2013

Re: [css3-multicol] z-order of column-rule: below or above border?

From: Morten Stenshorne <mstensho@opera.com>
Date: Fri, 27 Sep 2013 12:20:30 +0200
To: Håkon Wium Lie <howcome@opera.com>
Cc: www-style@gtalbot.org, "www-style mailing list" <www-style@w3.org>, Rossen Atanassov <Rossen.Atanassov@microsoft.com>
Message-ID: <871u4a8t1t.fsf@aeneas.oslo.osa>
Håkon Wium Lie <howcome@opera.com> writes:

> I wrote:
>
>  >  > "
>  >  > If a column rule is wider than its gap, the column rule will overlap
>  >  > adjacent column boxes, and possibly extend outside the box of the multicol
>  >  > element. Column rules are painted just above the background of the
>  >  > multicol element.
>  >  > "
>  >  > http://www.w3.org/TR/css3-multicol/#column-gaps-and-rules
>  >  > 
>  >  > "
>  >  > If a column rule is wider than its gap, the adjacent column boxes will
>  >  > overlap the rule, and the rule may possibly extend outside the box of the
>  >  > multicol element. Column rules are painted in the inline content layer,
>  >  > but below all inline content inside the multicol element. Column rules are
>  >  > only drawn between two columns that both have content.
>  >  > "
>  >  > http://dev.w3.org/csswg/css-multicol/#column-gaps-and-rules
>  >  > 
>  >  > If such multi-column element (having a column-rule wider than its gap) has
>  >  > a border, then a) should the column-rule overlap its border (Firefox 23,
>  >  > Opera 12.16, Chrome 28.0.1500.95 do that) or b) should it be just below
>  >  > the border (IE10 does that) ?
>
> It seems that IE11 behaves like FF/Op/Ch. AntennaHouse 6.1.6.12100 does the same,
> while Prince 9.0 puts the border on top.
>
> Based on this, I suggest changing:
>
>   Column rules are painted in the inline content layer, but below all
>   inline content inside the multicol element.
>
> to 
>
>   Column rules are painted in the inline content layer; below all
>   inline content inside the multicol element, but above the border of
>   the multicol element.

Putting the rule so high seems wrong and unnecessary to me, and I also
disagree with what the current ED says:

    http://dev.w3.org/csswg/css-multicol/#column-gaps-and-rules

    Column rules are painted in the inline content layer, but below all
    inline content inside the multicol element.

Why draw it so far apart from the multicol's border? Why not draw it
just after the border?

This:

    <style>
        .mc {
            -moz-columns:2;
            -moz-column-rule:30em solid black;
            -webkit-columns:2;
            -webkit-column-rule:30em solid black;
            columns:2;
            column-rule:30em solid black;
        }
    </style>
    <body>
        <div class="mc" style="width:20em; border:1em solid yellow;">
            <div style="background:lime;">
                This text should be visible, on a lime background.
            </div>
            <br><br><br><br><br><br><br><br><br><br><br><br><br>
        </div>
    </body>

passes in Gecko, WebKit, Presto and Trident. Why change that? The
rendering is identical in Gecko, WebKit and Presto (multicol border
below, then multicol rule, then child block background, then
text). Trident, on the other hand, paints the rule before the border,
otherwise identical.

-- 
---- Morten Stenshorne, developer, Opera Software ASA ----
------------------ http://www.opera.com/ -----------------
Received on Friday, 27 September 2013 10:21:12 UTC

This archive was generated by hypermail 2.3.1 : Friday, 27 September 2013 10:21:12 UTC