Tue, 01 May 2018 18:10:16 -0700
[css-break-1][css-flexbox-1] Clarify that break propagation doesn't occur for out-of-flows, that it doesn't affect computed values, and that it uses order-modified document order. #2614
css-break-3/Overview.bs | file | annotate | diff | comparison | revisions | |
css-flexbox-1/Overview.bs | file | annotate | diff | comparison | revisions |
1.1 --- a/css-break-3/Overview.bs Tue May 01 17:19:48 2018 -0700 1.2 +++ b/css-break-3/Overview.bs Tue May 01 18:10:16 2018 -0700 1.3 @@ -257,15 +257,6 @@ 1.4 </p> 1.5 1.6 <p> 1.7 - Since breaks are only allowed between siblings, 1.8 - not between a box and its container (see <a href="#possible-breaks">Possible Break Points</a>), 1.9 - a 'break-before' value on a first-child box is propagated to its container. 1.10 - Likewise a 'break-after' value on a last-child box is propagated to its container. 1.11 - (Conflicting values <a href="#forced-breaks">combine</a> as defined below.) 1.12 - This propagation stops before it breaks through the nearest matching fragmentation context. 1.13 - </p> 1.14 - 1.15 - <p> 1.16 Values for 'break-before' and 'break-after' are defined in the sub-sections below. 1.17 User Agents must apply these properties to boxes in the normal flow of the <a>fragmentation root</a>. 1.18 User agents should also apply these properties to floated boxes 1.19 @@ -365,6 +356,37 @@ 1.20 </dd> 1.21 </dl> 1.22 1.23 +<h4 id="break-propagation"> 1.24 +Child→Parent Break Propagation</h4> 1.25 + 1.26 + <p> 1.27 + Since breaks are only allowed between siblings, 1.28 + not between a box and its container 1.29 + (see <a href="#possible-breaks">Possible Break Points</a>), 1.30 + break values applied to children at the start/end of a parent 1.31 + are <dfn lt="propagate|propagation">propagated</dfn> to the parent, 1.32 + where they can take effect. 1.33 + </p> 1.34 + 1.35 + <p> 1.36 + Specifically-- 1.37 + except in layout modes which define more specific rules 1.38 + to account for reordering and parallel layout 1.39 + (e.g. in <a href="http://www.w3.org/TR/css-flexbox-1/#pagination">flex layout</a> [[CSS-FLEXBOX-1]] 1.40 + or <a href="http://www.w3.org/TR/css-grid-1/#pagination">grid layout</a> [[CSS-GRID-1]])-- 1.41 + a 'break-before' value on a first <a>in-flow</a> child box 1.42 + is <a>propagated</a> to its container. 1.43 + Likewise a 'break-after' value on a last <a>in-flow</a> child box 1.44 + is <a>propagated</a> to its container. 1.45 + (Conflicting values <a href="#forced-breaks">combine</a> as defined below.) 1.46 + This propagation stops before it breaks through the nearest matching fragmentation context. 1.47 + </p> 1.48 + 1.49 + <p> 1.50 + Break <a>propagation</a> does not affect <a>computed values</a>; 1.51 + it is part of interpeting the elements’ computed values for layout. 1.52 + </p> 1.53 + 1.54 <h3 id="break-within"> 1.55 Breaks Within Boxes: the 'break-inside' property</h3> 1.56 1.57 @@ -527,7 +549,7 @@ 1.58 1.59 <p class="note"> 1.60 Other layout models may add breakpoints to the above classes. 1.61 - For example, [[CSS3-FLEXBOX]] adds certain points within a flex formatting context 1.62 + For example, [[CSS-FLEXBOX-1]] adds certain points within a flex formatting context 1.63 to classes A and C. 1.64 </p> 1.65 1.66 @@ -604,8 +626,8 @@ 1.67 <p> 1.68 A <dfn export>forced break</dfn> is one explicitly indicated by the style sheet author. 1.69 A <a>forced break</a> occurs at a <a href="#btw-blocks">class A break point</a> if, 1.70 - among the 'break-after' properties specified on or propagated to the earlier sibling box 1.71 - and the 'break-before' properties specified on or propagated to the later sibling box 1.72 + among the 'break-after' properties specified on or <a>propagated</a> to the earlier sibling box 1.73 + and the 'break-before' properties specified on or <a>propagated</a> to the later sibling box 1.74 there is at least one with a <a>forced break value</a>. 1.75 (Thus a <a>forced break value</a> effectively overrides any <a>avoid break value</a> 1.76 that also applies at that break point.) 1.77 @@ -1103,6 +1125,17 @@ 1.78 Changes</h2> 1.79 1.80 <p>The following significant changes were made since the 1.81 + <a href="https://www.w3.org/TR/2017/CR-css-break-3-20170209/">8 February 2017 Candidate Recommendation</a>: 1.82 + <ul> 1.83 + <li> 1.84 + Clarified that break propagation does not affect computed values 1.85 + and that other layout modes (e.g. flex and grid) make adjustments 1.86 + to the basic break propagation rules, 1.87 + and corrected child-to-parent propagation to ignore <a>out-of-flow</a> children. 1.88 + (<a href="https://github.com/w3c/csswg-drafts/issues/2614">Issue 2614</a>) 1.89 + </ul> 1.90 + 1.91 + <p>The following significant changes were made since the 1.92 <a href="https://www.w3.org/TR/2015/WD-css3-break-20150129/">29 January 2015 Working Draft</a>: 1.93 1.94 <ul>
2.1 --- a/css-flexbox-1/Overview.bs Tue May 01 17:19:48 2018 -0700 2.2 +++ b/css-flexbox-1/Overview.bs Tue May 01 18:10:16 2018 -0700 2.3 @@ -2976,33 +2976,40 @@ 2.4 The <a property lt="break-before">break-*</a> properties apply to flex containers as normal for block-level or inline-level boxes. 2.5 This section defines how they apply to flex items 2.6 and the contents of flex items. 2.7 + See the <a href="http://www.w3.org/TR/css-break/">CSS Fragmentation Module</a> 2.8 + for more context [[!CSS3-BREAK]]. 2.9 2.10 <p> 2.11 The following breaking rules refer to the <a>fragmentation container</a> as the “page”. 2.12 The same rules apply in any other <a>fragmentation context</a>. 2.13 (Substitute “page” with the appropriate <a>fragmentation container</a> type as needed.) 2.14 - See the CSS3 Fragmentation Module [[!CSS3-BREAK]]. 2.15 For readability, in this section the terms "row" and "column" refer to the relative orientation 2.16 of the <a>flex container</a> with respect to the block flow direction of the <a>fragmentation context</a>, 2.17 rather than to that of the <a>flex container</a> itself. 2.18 2.19 <p> 2.20 - The exact layout of a fragmented flex container is not defined in this level of Flexible Box Layout. 2.21 - However, breaks inside a flex container are subject to the following rules: 2.22 + The exact layout of a fragmented flex container 2.23 + is not defined in this level of Flexible Box Layout. 2.24 + However, breaks inside a flex container are subject to the following rules 2.25 + (interpreted using <a>order-modified document order</a>): 2.26 2.27 <ul> 2.28 <li> 2.29 In a row flex container, 2.30 - the 'break-before' and 'break-after' properties on flex items 2.31 + the 'break-before' and 'break-after' values on flex items 2.32 are propagated to the flex line. 2.33 - The 'break-before' property on the first line 2.34 - and the 'break-after' property on the last line 2.35 + The 'break-before' values on the first line 2.36 + and the 'break-after' values on the last line 2.37 are propagated to the flex container. 2.38 2.39 + Note: Break propagation 2.40 + (like 'text-decoration' propagation) 2.41 + does not affect <a>computed values</a>. 2.42 + 2.43 <li> 2.44 In a column flex container, 2.45 - the 'break-before' property on the first item 2.46 - and the 'break-after' property on the last item 2.47 + the 'break-before' values on the first item 2.48 + and the 'break-after' values on the last item 2.49 are propagated to the flex container. 2.50 Forced breaks on other items are applied to the item itself. 2.51 2.52 @@ -3582,6 +3589,36 @@ 2.53 is floored by the table’s <a>min-content size</a>. 2.54 (<a href="https://github.com/w3c/csswg-drafts/issues/2442">Issue 2442</a>) 2.55 2.56 + <li id="change-2017-break-propagation"> 2.57 + Clarified that break propagation does not affect computed values 2.58 + and that <a>order-modified document order</a> is used. 2.59 + (<a href="https://github.com/w3c/csswg-drafts/issues/2614">Issue 2614</a>) 2.60 + <blockquote> 2.61 + <p> 2.62 + The exact layout of a fragmented flex container 2.63 + is not defined in this level of Flexible Box Layout. 2.64 + However, breaks inside a flex container are subject to the following rules 2.65 + <ins>(interpreted using <a>order-modified document order</a>)</ins>: 2.66 + 2.67 + <ul> 2.68 + <li> 2.69 + In a row flex container, 2.70 + the 'break-before' and 'break-after' values on flex items 2.71 + are propagated to the flex line. 2.72 + The 'break-before' values on the first line 2.73 + and the 'break-after' values on the last line 2.74 + are propagated to the flex container. 2.75 + 2.76 + <ins> 2.77 + 2.78 + Note: Break propagation 2.79 + (like 'text-decoration' propagation) 2.80 + does not affect <a>computed values</a>. 2.81 + 2.82 + </ins> 2.83 + </ul> 2.84 + </blockquote> 2.85 + 2.86 <li> 2.87 Some minor editorial fixes and clarifications. 2.88 </ul>