Re: [css3-multicol] Tests with wide or excessively wide column-gap

Le Lun 29 juillet 2013 5:52, Morten Stenshorne a écrit :
> "Gérard Talbot" <www-style@gtalbot.org> writes:
>
>> [src]
>> http://test.csswg.org/source/contributors/opera/submitted/multicol/multicol-count-computed-001.xht
>>
>> [reftest]
>> http://test.csswg.org/source/contributors/opera/submitted/multicol/multicol-count-computed-ref.xht
>>
>> When width of column-gaps equal the available width of a multi-column
>> element, then used column-width of colum boxes should be 0px.
>>
>> (11)  if (column-width = auto) and (column-count != auto) then
>> (12)    N := column-count;
>> (13)    W := max(0, (available-width - ((N - 1) * column-gap)) / N);
>> (14)  exit;
>>
>>   used width == max(0, (12em - ((3 - 1) * 6em)) / 3);
>>   used width == max(0, (12em - (2 * 6em)) / 3);
>>   used width == max(0, (12em - 12em) / 3);
>>   used width == max(0, 0em / 3);
>>   used width == 0px
>>
>>
>> So, in this test, there should be 3 column boxes of each 0px wide. Now,
>> §8.1 states:
>> "
>> Content in the normal flow that extends into column gaps (e.g., long
>> words
>> or images) is clipped in the middle of the column gap.
>> "
>> http://www.w3.org/TR/css3-multicol/#overflow-inside-multicol-elements
>>
>> So, I believe only the first 3 "x" of the <span id="pink"> should be
>> displayed. And only the first 3 "x" of the <span id="orange"> should be
>> displayed.
>>
>> §8.2 states:
>> "
>> overflow outside multicol elements
>>
>> Content and column rules that extend outside column boxes at the edges
>> of
>> the multi-column element are clipped according to the ‘overflow’
>> property.
>> "
>>
>> And so (since default, initial value of 'overflow' is 'visible'), the 4
>> "x" of the <span id="purple"> should be displayed, with the first,
>> leftmost one overlapping the border-right. The 3 rightmost "x" of the
>> span
>> id="purple" should extend outside the multi-column element.
>>
>> The 2 blue column rules should be rendered too, with the left half
>> (0.75em) of the first column rule overlapping the 3rd pink "x" and the
>> left half (0.75em) of the 2nd column rule overlapping the 3rd orange
>> "x".
>>
>> I believe the reftest is wrong.
>>
>> What am I missing?
>
> Looks like this test was written for an older version of the spec:
> http://www.w3.org/TR/2009/CR-css3-multicol-20091217/#pseudo-algorithm


I think there was a mistake at line 20 of that pseudo-algorithm
http://www.w3.org/TR/2009/CR-css3-multicol-20091217/#pseudo-algorithm

(20)    elsif (column-gap >= available-width) then
(21)      N := 1;
(22)      W := available-width;

should have been instead

(20)    elsif ((column-count - 1) * column-gap >= available-width) then
(21)      N := 1;
(22)      W := available-width;


> In this version there are 10 lines dedicated to "insane" column-gap
> values, but they are gone in the latest version of the spec.

Okay. Well... this was precisely about my 2 tests and situation.

> I'm pretty
> sure both the tests and the Presto implementation (the implementation
> was finished in February/March 2011, i.e. slightly older than the
> current spec) were done with the 2009 version of the spec in mind.
>
> This thread seems relevant:
> http://lists.w3.org/Archives/Public/www-style/2010Nov/0434.html
> Continues here:
> http://lists.w3.org/Archives/Public/www-style/2011Feb/0143.html
> Getting interesting here:
> http://lists.w3.org/Archives/Public/www-style/2011Feb/0399.html
>

Such threads seem to be establishing an algorithm when/where the space for
column-gapS will exceed available width
{((column-count - 1) * column-gap) > available-width}
; in which case, the used column-count value will become smaller than the
declared column-count value.
All this is interesting but the latest/current version of that
pseudo-algorithm is not mentioned anywhere now.
Not in
http://www.w3.org/TR/2011/CR-css3-multicol-20110412/

Not in
http://dev.w3.org/csswg/css-multicol/#pseudo-algorithm
(Editor's Draft 22 July 2013)

So, I can not review appropriately the

/opera/submitted/multicol/multicol-count-computed-001.xht

/opera/submitted/multicol/multicol-count-computed-002.xht

tests.

Gérard

>> --------------------
>>
>> [src]
>> http://test.csswg.org/source/contributors/opera/submitted/multicol/multicol-count-computed-002.xht
>>
>> [reftest]
>> http://test.csswg.org/source/contributors/opera/submitted/multicol/multicol-count-computed-2-ref.xht
>>
>> Here, the 2 column-gaps excede the available width. What should happen
>> in
>> such case?
>>
>> Should the given algorithm in §3.4 still be used? Because it seems
>> (lines
>> 11 to 14 mentioned above) can still apply...
>>
>> If we follow the given algorithm in §3.4, then used width of column
>> boxes
>> should be again 0.
>
> Same problem again: this test was valid with the old version of the spec.
>
> I think both these tests should be removed. They are invalid now.
>
> --
> ---- Morten Stenshorne, developer, Opera Software ASA ----
> ------------------ http://www.opera.com/ -----------------
>


-- 
CSS 2.1 Test suite RC6, March 23rd 2011
http://test.csswg.org/suites/css2.1/20110323/html4/toc.html

Contributions to CSS 2.1 test suite
http://www.gtalbot.org/BrowserBugsSection/css21testsuite/

Web authors' contributions to CSS 2.1 test suite
http://www.gtalbot.org/BrowserBugsSection/css21testsuite/web-authors-contributions-css21-testsuite.html

Received on Monday, 29 July 2013 18:45:37 UTC