Skip to content

Commit 7a88b49

Browse files
committed
[css-writing-modes] Make orthogonal flows section better handle shrink-wrapping cases. Note issue on min-content limits of their block-size.
1 parent dee8b3f commit 7a88b49

File tree

2 files changed

+99
-177
lines changed

2 files changed

+99
-177
lines changed

css-writing-modes/Overview.bs

Lines changed: 35 additions & 75 deletions
Original file line numberDiff line numberDiff line change
@@ -1911,15 +1911,14 @@ Auto-sizing in Orthogonal Flows</h4>
19111911
Auto-sizing Block Containers in Orthogonal Flows</h4>
19121912

19131913
<p>
1914-
If a box establishing an orthogonal flow is a block container or multi-column element,
1915-
for the case where the box's <i>block-size</i> or <i>available block-size</i> is
1916-
<i>definite</i> but the box's <i>inline-size</i> is ''auto'':
1914+
If a box establishing an <i>orthogonal flow</i> is a block container or multi-column element,
1915+
for the case where the box's <i>inline-size</i> is ''auto'':
19171916

19181917
<ol>
19191918
<li>
19201919
If 'column-count' and 'column-width' are both ''auto'',
1921-
calculate the used 'column-width' as:
1922-
<code>min(<var>max-content</var>, max(<var>min-content</var>, min(<var>fill-available</var>, <var>fill-fallback</var>)))</code>,
1920+
calculate the used 'column-width' with the shrink-to-fit formula:
1921+
<code>min(<var>max-content</var>, max(<var>min-content</var>, <var>constraint</var>))</code>,
19231922
where:
19241923
<dl>
19251924
<dt><var>min-content</var>
@@ -1928,19 +1927,39 @@ Auto-sizing Block Containers in Orthogonal Flows</h4>
19281927
<dt><var>max-content</var>
19291928
<dd>the <a href="http://www.w3.org/TR/css3-sizing/#max-content-measure">max-content inline-size</a> of the box
19301929

1931-
<dt><var>fill-available</var>
1932-
<dd>the <a href="http://www.w3.org/TR/css3-sizing/#terms">fill-available fit</a> into the box's containing block's size in the box's <i>inline axis</i>
1933-
1934-
<dt><var>fill-fallback</var>
1935-
<dd>the <a href="http://www.w3.org/TR/css3-sizing/#terms">fill-available fit</a> into the initial containing block's size in the box's <i>inline axis</i>
1930+
<dt><var>constraint</var>
1931+
<dd>the box’s <i>inline-axis</i> <a href="http://www.w3.org/TR/css3-sizing/#terms">fill-available fit</a>
1932+
into the smaller of
1933+
<ul>
1934+
<li>the box’s <i>available inline-size</i>
1935+
<li>the initial containing block’s <i>inline-size</i>
19361936
</dl>
19371937

19381938
<p>
19391939
See [[!CSS3-SIZING]] for further details.
19401940

1941+
<div class="note">
1942+
<div class=sidefigure>
1943+
<img src="auto-multicol.svg" width=200
1944+
alt="Diagram of automatically triggered multi-column preventing T-shaped documents">
1945+
</div>
1946+
This automatically triggers multi-column flow
1947+
so that overflowing content, instead of continuing off the side of the containing block,
1948+
is wrapped into columns in the flow direction of the containing block,
1949+
thus avoiding T-shaped documents.
1950+
<br style="clear:both;">
1951+
</div>
1952+
19411953
<li>
1942-
If the columns' <i>block-size</i> is <i>indefinite</i>,
1943-
the <i>fill-available block-size</i> of the box is used.
1954+
The used column <i>block-size</i> is:
1955+
the box’s <i>block-size</i> (if that is <i>definite</i>),
1956+
else the <i>fill-available block-size</i> of the box (if that is <i>definite</i>),
1957+
else the box’s <i>max-content block-size</i>.
1958+
<p class="issue">
1959+
Should we factor in the box’s min-content block-size here,
1960+
so that e.g. a large image will not overflow the box,
1961+
but cause the box to overflow the containing block?
1962+
19441963
<li>
19451964
The used 'column-count' then follows from filling the resulting columns with the box's content.
19461965
</ol>
@@ -1956,18 +1975,6 @@ Auto-sizing Block Containers in Orthogonal Flows</h4>
19561975
(if multiple columns were used)
19571976
or the <i>max-content block-size</i> of the content.
19581977

1959-
<div class="note">
1960-
<div class=sidefigure>
1961-
<img src="auto-multicol.svg" width=200
1962-
alt="Diagram of automatically triggered multi-column preventing T-shaped documents">
1963-
</div>
1964-
This automatically triggers multi-column flow
1965-
so that overflowing content, instead of continuing off the side of the containing block,
1966-
is wrapped into columns in the flow direction of the containing block,
1967-
thus avoiding T-shaped documents.
1968-
<br style="clear:both;">
1969-
</div>
1970-
19711978
<p>
19721979
If the UA does not support CSS Multi-column Layout [[!CSS3COL]],
19731980
the UA may instead calculate the box's <i>inline-size</i> assuming an infinite <i>block-size</i>,
@@ -2491,67 +2498,20 @@ Full-width Characters</h5>
24912498

24922499
<h2 class="no-num" id="changes">Changes</h2>
24932500
<h3 class="no-num" id="changes-201311">
2494-
Changes since the <a href="http://www.w3.org/TR/2013/WD-css-writing-modes-3-20131126/">November
2495-
2013 CSS Writing Modes Module Level 3 <abbr title="Last Call Working Draft">LCWD</abbr></a></h3>
2501+
Changes since the <a href="http://www.w3.org/TR/2014/CR-css-writing-modes-3-20140320/">March
2502+
2014 CSS Writing Modes Module Level 3 Candidate Recommendation</h3>
24962503
<ul>
2497-
<li>Changed to use boxes rather than elements where its use is more accurate or appropriate.
2498-
<li>Increased the maximum level of embedding to 125 to match to Unicode 6.3.
2499-
<li>Clarified handling of bidi control codes.
2500-
<li>Clarified <a href="#text-combine-compression">compression rules</a> of 'text-combine-upright'.
2504+
<li>Fixed orthogonal flows auto-sizing rules to better handle shrink-wrapping.
25012505
</ul>
25022506

2503-
<h3 class="no-num" id="changes-201211">
2504-
Changes since the <a href="http://www.w3.org/TR/2012/WD-css3-writing-modes-20121115/">November
2505-
2012 CSS Writing Modes Module Level 3 <abbr title="Working Draft">WD</abbr></a></h3>
2506-
<ul>
2507-
<li>Added back ''digits'' value of 'text-combine-upright' and tightened up rules for compressing text.
2508-
<li>Defined better analysis of text to be combined.
2509-
<li>Various fixes/clarifications to orthogonal flows.
2510-
<li>Updated references to UTR50 and how this specification use its values.
2511-
</ul>
2512-
2513-
<h3 class="no-num" id="changes-201205">
2514-
Changes since the <a href="http://www.w3.org/TR/2012/WD-css3-writing-modes-20120501/">May
2515-
2012 CSS Writing Modes Module Level 3 <abbr title="Working Draft">WD</abbr></a></h3>
2516-
2517-
<p>Major changes include:</p>
2518-
<ul>
2519-
<li>Replaced 'unicode-bidi' value of ''isolate bidi-override'' with single keyword ''isolate-override''.
2520-
<li>Clarified that bidi isolated content does not affect plaintext heuristics of the containing paragraph.
2521-
<li>Lots of other clarifications to bidi.
2522-
<li>Renamed ''mixed-right'' value of 'text-orientation' to ''mixed''.
2523-
<li>Updated references to UTR50 for orientation of characters in Unicode
2524-
and improved text defining vertical typesetting rules.
2525-
<li>Fixed errors and clarified auto-sizing rules for orthogonal flows.
2526-
<li>Replaced Appendix D with references to the new [[!CSS3-SIZING]] module.
2527-
<li>Removed 'text-combine-mode' property.
2528-
<li>Removed all 'text-combine-upright' values except ''none'' and ''all''.
2529-
<li>Defined effect of 'text-combine-upright' on line-breaking.
2530-
</ul>
2531-
2532-
<h3 class="no-num" id="changes-201109">
2533-
Changes since the <a href="http://www.w3.org/TR/2011/WD-css3-writing-modes-20110901/">September
2534-
2011 CSS Writing Modes Module Level 3 <abbr title="Working Draft">WD</abbr></a></h3>
2535-
2536-
<p>Major changes include:</p>
2537-
<ul>
2538-
<li>Hooked up vertical typesetting details to UTR50.
2539-
<li>Removed concept of "typographic modes".
2540-
<li>Altered <a href="#orthogonal-auto">orthogonal sizing</a>
2541-
to take into account the fill-available size; now the minimum of the
2542-
fill-available and ICB size is used to resolve ''auto'' sizes.
2543-
<li>Renamed ''digits'' to ''numeric'' and ''ascii-digits'' to ''digits'' for 'text-combine-upright'.
2544-
<li>Defined interaction of 'text-combine-upright' and 'text-transform'.
2545-
</ul>
2546-
2547-
25482507
<h2 class="no-num" id="acknowledgements">
25492508
Acknowledgements</h2>
25502509

25512510
<p>John Daggett, Martin Heijdra, Laurentiu Iancu,
25522511
Yasuo Kida, Tatsuo Kobayashi, Toshi Kobayashi,
25532512
Ken Lunde, Nat McCully, Eric Muller,
25542513
Paul Nelson, Kenzou Onozawa, Dwayne Robinson,
2514+
Simon Sapin
25552515
Michel Suignard, Taro Yamamoto, Steve Zilles</p>
25562516

25572517
<h2 id="character-properties" class="no-num">Appendix A.

0 commit comments

Comments
 (0)