Re: Unprefixing intrinsic size keywords (-moz-min-content et al)

fantasai <[email protected]>
Newsgroups gmane.comp.mozilla.devel.layout
Message-ID <[email protected]>
On 08/27/2015 05:49 PM, L. David Baron wrote:
> On Thursday 2015-08-06 09:42 -0700, [email protected] wrote:
>> We (blink) would like to unprefix the intrinsic sizing keywords:
>> https://drafts.csswg.org/css-sizing/#width-height-keywords
>>
>> We support them for widths and for heights (though they all do the same thing for heights)
>>
>> We were wondering what Gecko's plans for those keywords is -- are you also interested in unprefixing? Are you happy with the keywords as specced? Would you rather stop supporting them?
>
> I'm largely happy with them; they were my idea (under different
> names) originally, although that proposal predated serious work on
> vertical writing modes, which makes things a bit more complicated.
> I haven't looked closely at the relevant specs lately, but I think
> the controversial spec parts are the actual definitions of intrinsic
> sizes, whereas the spec for the keywords is pretty trivial.  Though
> at a quick glance I think the spec at
> https://drafts.csswg.org/css-sizing/#width-height-keywords for fill,
> max-content, min-content, and fit-content is fine, at least for the
> inline-size direction.  (This of course requires that the actual
> definitions exclude the effects of the (min-/max-/)(width/height)
> properties, which I believe they do.)
>
> My biggest concern is probably what they mean when used in the block
> direction.  I'm not sure we currently do anything sensible there, or
> that the spec has sensible definitions for max-content, min-content,
> and fill-available sizes there.

The CSSWG resolved (possibly re-resolved? I couldn't find the original
minutes, though I recall discussing the issue) on this here:
   https://lists.w3.org/Archives/Public/www-style/2015Aug/0109.html
I think 'fit-content' can be safely thrown in with min/max-content.

For 'fill', I'm less sure we're solid.

A quick test strategy would be:
   1. Fill a box wit content and give it properties P
   2. For the min-content test
        * assign it 'width: min-content' in the test
        * assign it a zero-width container in the reference
   3. For the max-content test
        * assign it 'width: max-content' in the test
        * assign it maximally large container in the reference
   4. For the fit-content test
        * assign it 'width: fit-content' in the test
        * leave its container as auto
   5. Make the reference boxes all 'float: left' or something else
      to give them shrinkwrapping behavior.
as long as the test and reference match for all content C and all
properties P, the implementation of the keywords is correct, even
if the layout algorithms aren't quite there yet. :)

~fantasai
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.