- From: Tab Atkins Jr. via GitHub <sysbot+gh@w3.org>
- Date: Thu, 18 Feb 2021 23:26:16 +0000
- To: public-css-archive@w3.org
So upon reviewing this issue and the suggested edits, Elika and I realized that the text was very confusing and didn't actually clearly define which axis was ratio-dependent in various cases. After a lot of attempted edits to fix it, we finally settled on a simplifying strategy that groups size constraints into categories of varying strength, and then does a strength comparison to see which one wins and which one becomes ratio-dependent. Here's the old text we're augmenting: > The axis in which the preferred size calculation depends on this aspect ratio is called the ratio-dependent axis, and the resulting size is definite if its input sizes are also definite. The opposite axis (on which the ratio-dependent axis size depends) is the ratio-determining axis. Here's the suggested new text (rough spec text): > When a box has a preferred aspect ratio, > the aspect ratio can inform calculations > of its [=automatic sizes=] and [=intrinsic sizes=]. > The axis in which the <a>preferred size</a> calculation > depends on this aspect ratio > is called the <dfn export>ratio-dependent axis</dfn>, > and the resulting size is <a>definite</a> > if its input sizes are also <a>definite</a>. > The opposite axis (on which the [=ratio-dependent axis=] size depends) > is the <dfn export>ratio-determining axis</dfn>. > > Sizing constraints in CSS are classified into three categories: > : <dfn export>strong size constraint</dfn> > :: * `<<length>>`s > * resolvable `<<percentage>>` values > * explicit [=intrinsic sizes=] > (e.g. ''min-content'', ''max-content'') > on [=non-replaced elements=] > * certain [=automatic sizes=] > (e.g. stretched [=automatic sizes=] in [=grid layout=]), > as defined by the layout model > : <dfn export>weak size constraint</dfn> > :: Everything not defined as > [=strong size constraint|strong=] or [=null size constraint|null=]. > (Individual layout models can define multiple weak categories > with a specific ordering between them.) > : <dfn export>null size constraint</dfn> > :: An essentially missing size: specifically, > the [=intrinsic size=] of a [=replaced element=] with no [=natural size=]. > > When both dimensions have a [=strong size constraint=], > such as a `<<length>>` or resolvable `<<percentage>>`, > then the [=preferred aspect ratio=] is ignored > in favor of these constraints. > In all other cases > when both dimensions have equally weak size constraints, > the [=block axis=] is the [=ratio-dependent axis=]. > > When one dimension has a weaker size constraint, > then the weaker dimension is the [=ratio-dependent axis=]; > unless the stronger size constraint is an > the [=intrinsic size|intrinsic=] [=block size=] of a [=non-replaced element=], > in which case the [=preferred aspect ratio=] is ignored. TODO: * Flex and Grid define precisely what stretch situations give a strong size constraint (details omitted here just bc they're a little complex to drop inline) * Position defines the *two* weak categories that arise from abspos layout (an axis with both input properties non-auto is stronger than one with at least one auto inset) * Double-check that the resulting text is consistent with what's already defined. We still need to draft text to replace > When a box has a preferred aspect ratio, its automatic sizes are calculated the same as for a replaced element with a natural aspect ratio and no natural size in that axis, see e.g. CSS2 § 10 and CSS Flexible Box Model Level 1 § 9.2. We probably need to pull all of the replaced element size calculations from CSS2 into CSS Sizing 4 to do this though. :( @bfgeek @BorisChiou @cbiesinger Does what we have make sense to you so far? -- GitHub Notification of comment by tabatkins Please view or discuss this issue at https://github.com/w3c/csswg-drafts/issues/5721#issuecomment-781702159 using your GitHub account -- Sent via github-notify-ml as configured in https://github.com/w3c/github-notify-ml-config
Received on Thursday, 18 February 2021 23:26:18 UTC