RE: [RC4] absolute-non-replaced-width-004 and absolute-non-replaced-width-005 proposed assert text

On Monday, December 13, 2010 9:15 AM Gérard Talbot wrote:
> 
> http://test.csswg.org/source/contributors/microsoft/submitted/Chapter_10
> /absolute-non-replaced-width-004.xht
> 
> http://test.csswg.org/source/contributors/microsoft/submitted/Chapter_10
> /absolute-non-replaced-width-004.htm
> 
> http://test.csswg.org/suites/css2.1/20101210/xhtml1/absolute-non-
> replaced-width-004.xht
> 
> http://test.csswg.org/suites/css2.1/20101210/html4/absolute-non-replaced-
> width-004.htm
> 
> {
> 'left' + 'margin-left' + 'border-left-width' + 'padding-left' + 'width'
> + 'padding-right' + 'border-right-width' + 'margin-right' + 'right' =
> width of containing block
> 
> (...)
> 
> If none of the three is 'auto': If both 'margin-left' and 'margin-right'
> are 'auto', solve the equation under the extra constraint that the two
> margins get equal values, unless this would make them negative, in which
> case when direction of the containing block is 'ltr' ('rtl'), set 'margin-left'
> ('margin-right') to zero and solve for 'margin-right'
> ('margin-left').
> }
> http://www.w3.org/TR/CSS21/visudet.html#abs-non-replaced-width
> 
>             #div1
>             {
>                 border: solid black;
>                 direction: ltr;
>                 height: 2in;
>                 position: relative;
>                 width: 2in;
>             }
>             div div
>             {
>                 background: red;
>                 color: blue;
>                 font: 1in/1em Ahem;
>                 left: 1in;
>                 margin-left: auto;
>                 margin-right: auto;
>                 position: absolute;
>                 right: 1in;
>                 width: 1in;
>             }
> 
> So, this means for absolute-non-replaced-width-004
> 
> /*
>     left                    :   1in
>   + margin-left             :   solve (auto)
>   + border-left-width       :   0
>   + padding-left            :   0
>   + width                   :   1in
>   + padding-right           :   0
>   + border-right-width      :   0
>   + margin-right            :   solve (auto)
>   + right                   :   1in
>   ====================================
>   width of containing block :   2in
> 
> 
> So, margin-left and margin-right would be each -0.5in at this point.
> 
> "...unless this would make them (the two margins) negative in which case
> when direction of the containing block is 'ltr' ('rtl'), set 'margin-left' ('margin-
> right') to zero and solve for 'margin-right' ('margin-left')."
> 
> So, under such extra constraint, 'margin-left' must become 0 and 'margin-
> right' must become -1in.
> */
> 
> Proposed replacement
> ====================
> 
>  <meta name="assert" content="When direction is 'ltr' and 'left', 'width' and
> 'right' are not 'auto', solve for 'margin-right' and 'margin-left' to equal values.
> If this would make 'margin-left' and 'margin-right' negative (as in this
> testcase), then set 'margin-left'
> to zero and solve for 'margin-right'.">
> 
> along with judicious, helpful /* comments */
> 
> The same kind of adjustment in
> http://test.csswg.org/source/contributors/microsoft/submitted/Chapter_10
> /absolute-non-replaced-width-005.xht
> 
> I would rename #div1 to #containing-block and change "is in upper-left
> corner..." to "fills the upper-left corner...".
> 
> I have uploaded the 2 files with proposed changes here:
> 
> http://www.gtalbot.org/BrowserBugsSection/css21testsuite/absolute-non-
> replaced-width-004.xht
> 
> http://www.gtalbot.org/BrowserBugsSection/css21testsuite/absolute-non-
> replaced-width-005.xht

Fixed in RC5

--
Thanks,
Arron Eicholz

Received on Wednesday, 5 January 2011 17:28:55 UTC