Skip to content

Commit ac8f15a

Browse files
committed
[css-flexbox-1] Rearrange the definiteness bullets. Slightly rephrase the one about flex container main-size definiteness. Add additional condition about flex-basis definiteness to fix w3c#4311. Remove extraneous note, replace with different useful note.
1 parent cae358e commit ac8f15a

1 file changed

Lines changed: 24 additions & 25 deletions

File tree

css-flexbox-1/Overview.bs

Lines changed: 24 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -2751,31 +2751,30 @@ Definite and Indefinite Sizes</h3>
27512751
Although CSS Sizing [[!CSS-SIZING-3]] defines <a spec=css-sizing>definite</a> and <a spec=css-sizing>indefinite</a> lengths,
27522752
Flexbox has several additional cases where a length can be considered <dfn noexport lt="definite|definite size|indefinite|indefinite size">definite</dfn>:
27532753

2754-
<ol>
2755-
<li>
2756-
If a <a>single-line</a> <a>flex container</a> has a definite <a>cross size</a>,
2757-
the [=automatic size|automatic=] [=preferred size|preferred=] [=outer size|outer=] [=cross size=]
2758-
of any <a>stretched</a> <a>flex items</a>
2759-
is the flex container's inner <a>cross size</a>
2760-
(clamped to the <a>flex item</a>’s min and max <a>cross size</a>)
2761-
and is considered <a>definite</a>.
2762-
2763-
<li>
2764-
If the <a>flex container</a> has a <a>definite</a> <a>main size</a>,
2765-
a <a>flex item</a>’s post-flexing <a>main size</a>
2766-
is treated as <a>definite</a>,
2767-
even though it can rely on the <a>indefinite</a> sizes
2768-
of any flex items in the same line.
2769-
2770-
<li>
2771-
Once the cross size of a flex line has been determined,
2772-
the cross sizes of items in auto-sized flex containers
2773-
are also considered definite for the purpose of layout;
2774-
see <a href="#algo-stretch">step 11</a>.
2775-
</ol>
2776-
2777-
Note: The main size of a <a>fully inflexible</a> item with a <a>definite</a> <a>flex basis</a>
2778-
is, by definition, <a>definite</a>.
2754+
1. If the [=flex container=] has a [=definite=] [=main size=],
2755+
then the post-flexing [=main sizes=]
2756+
of its [=flex items=]
2757+
are treated as [=definite=].
2758+
2759+
2. If a [=flex-item’s=] [=flex basis=] is [=definite=],
2760+
then its post-flexing [=main size=] is also [=definite=].
2761+
2762+
3. If a <a>single-line</a> <a>flex container</a> has a definite <a>cross size</a>,
2763+
the [=automatic size|automatic=] [=preferred size|preferred=] [=outer size|outer=] [=cross size=]
2764+
of any <a>stretched</a> <a>flex items</a>
2765+
is the flex container's inner <a>cross size</a>
2766+
(clamped to the <a>flex item</a>’s min and max <a>cross size</a>)
2767+
and is considered <a>definite</a>.
2768+
2769+
4. Once the cross size of a flex line has been determined,
2770+
the cross sizes of items in auto-sized flex containers
2771+
are also considered definite for the purpose of layout;
2772+
see <a href="#algo-stretch">step 11</a>.
2773+
2774+
Note: This means that within [=flex layout=],
2775+
“definite” sizes can require performing layout.
2776+
This was done to allow percentages inside of [=flex items=]
2777+
to resolve where authors expected them to resolve.
27792778

27802779

27812780
<!--

0 commit comments

Comments
 (0)