Skip to content

Commit de44f98

Browse files
committed
[css-writing-modes-4] Apply ICB clamping on the orthogonal flow, not the closest block container descendant, matching implementations. #4221
1 parent fe5ad42 commit de44f98

File tree

1 file changed

+32
-14
lines changed

1 file changed

+32
-14
lines changed

css-writing-modes-4/Overview.bs

Lines changed: 32 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -2253,28 +2253,40 @@ Auto-sizing Block Containers in Orthogonal Flows</h4>
22532253
Auto-sizing Other Orthogonal Flow Roots</h4>
22542254

22552255
<p>In order to limit the length of lines,
2256-
block containers have special auto-sizing behavior (defined <a href="#auto-multicol">above</a>)
2256+
block containers have special auto-sizing behavior
2257+
that triggers [=multi-column layout=]
22572258
when their <a>available inline space</a> is infinite
22582259
(which typically occurs when they establish an <a>orthogonal flow</a>).
22592260

2260-
<p>Other layout models simply lay out into the infinite <a>available inline space</a>
2261-
at their <a>max-content size</a>.
2262-
However, they pass through the infinite <a>available inline space</a>
2263-
to block containers they contain,
2264-
possibly triggering that special auto-sizing behavior on those block containers
2265-
even though they do not themselves establish an <a>orthogonal flow</a>.
2261+
<p>For calculating the [=automatic inline size=] for other [=display types=]
2262+
when the available inline space is infinite,
2263+
if the box is [=block level=]
2264+
or the formatting context otherwise calculates
2265+
an [=automatic inline size=] using its [=max-content=] size,
2266+
use the same formula used for the [=block containers’=] 'column-width'
2267+
(see <a href="#auto-multicol">above</a>)
2268+
in place of that [=max-content size=]:
2269+
<code>min(<var>max-content</var>, max(<var>min-content</var>, <var>constraint</var>))</code>.
22662270

22672271
<div class="example">
22682272
<p>For example,
2269-
a table or <a>flex container</a> establishing an <a>orthogonal flow</a>
2270-
is laid out into its given <a>available space</a>.
2271-
If its <a>available inline space</a> is infinite,
2272-
this effectively lays the box out at its <a>max-content size</a>.
2273-
However, any of its table cells or <a>flex items</a> that are <a>block containers</a>
2274-
are laid out assuming infinite <a>available inline space</a>
2275-
and so behave accordingly.
2273+
a table or <a>flex container</a> establishing an <a>orthogonal flow</a>
2274+
is laid out into its given <a>available space</a>.
2275+
However, if its <a>available inline space</a> is infinite
2276+
(as it when placed into a [=block formatting context=]),
2277+
then assuming no intervening [=scroll container=],
2278+
this effectively lays the box out at its <a>max-content size</a>,
2279+
clamped by the [=initial containing block=]’s size,
2280+
ensuring that its [=inline size=] still fits within the viewport or page area.
22762281
</div>
22772282

2283+
Note: If the [=automatic inline size=] is a [=fit-content=] size
2284+
(for example, in a [=grid item=])
2285+
this can apply multiple maximum constraints on the [=max-content=] size.
2286+
2287+
Note: <strong>This can result in T-shaped documents</strong>
2288+
if the orthogonal content is too long to fit within its containing block.
2289+
22782290
<h4 id="orthogonal-pagination">
22792291
Fragmenting Orthogonal Flows</h4>
22802292

@@ -2812,6 +2824,12 @@ Changes since the <a href="https://www.w3.org/TR/2019/CR-css-writing-modes-4-201
28122824
2019 CSS Writing Modes Module Level 4 Candidate Recommendation</a></h3>
28132825

28142826
<ul>
2827+
<li>Changed the automatic sizing of orthogonal flows that are not [=block containers=]
2828+
to apply the [=initial containing block=] size as a constraint on the flow itself
2829+
like [=block containers=] do,
2830+
rather than passing through an infinite available size
2831+
to be clamped by descendant [=block containers=].
2832+
(<a href="https://github.com/w3c/csswg-drafts/issues/4221">Issue 4221</a>)
28152833
<li>Specified that a ''display: none'' <{body}> element does not influence the [=principal writing mode=].
28162834
(<a href="https://github.com/w3c/csswg-drafts/issues/3779">Issue 3779</a>)
28172835
<li>Updated “Applies to” line for 'text-combine-upright' to mention text

0 commit comments

Comments
 (0)