- From: Tab Atkins Jr.. via cvs-syncmail <cvsmail@w3.org>
- Date: Tue, 31 Jan 2012 00:42:36 +0000
- To: public-css-commits@w3.org
Update of /sources/public/csswg/css3-flexbox In directory hutz:/tmp/cvs-serv29395 Modified Files: Overview.html Overview.src.html Log Message: Stab at simplifying the linebreaking/flexbox-main-size steps. Index: Overview.html =================================================================== RCS file: /sources/public/csswg/css3-flexbox/Overview.html,v retrieving revision 1.137 retrieving revision 1.138 diff -u -d -r1.137 -r1.138 --- Overview.html 31 Jan 2012 00:13:23 -0000 1.137 +++ Overview.html 31 Jan 2012 00:42:34 -0000 1.138 @@ -1833,10 +1833,31 @@ lines:</p> <ol> - <li>Determine the main size of the flexbox's content box. - <p class=issue>Fill in the details about how to do so when the width is - min/max/fit-content. This is complicated for multiline, especially for - ‘<code class=css>flex-flow:column</code>’! + <li> + <p>Determine the maximum line length, based on the main size of the + flexbox:</p> + + <dl> + <dt> + + <dt>size doesn't rely on its contents + + <dd>The maximum line length is main size of the flexbox's content box. + + <dt>‘<code class=css>min-content</code>’ + + <dd>The maximum line length is the flexbox's minimum main size. + + <dt>‘<code class=css>max-content</code>’ + + <dd>The maximum line length is the flexbox's maximum main size, or + infinity if it has no maximum main size. + + <dt>‘<code class=css>fit-content</code>’ + + <dd>Same as if the flexbox was sized as ‘<code + class=css>fill-available</code>’. + </dl> <li>Collect as many consecutive flexbox items as possible, starting from the first item, while keeping the sum of their main size smaller than @@ -1850,12 +1871,14 @@ have been collected into flexbox lines. </ol> - <li> - <p>Find the actual main size of the flexbox, per the standard rules for - blocks (for block flexboxes) or inline-blocks (for inline flexboxes).</p> + <p class=issue>Define "size doesn't rely on its contents". This should be + any <length>, a <percentage> that can be resolved, or ‘<code + class=css>fill-available</code>’.</p> - <p class=issue>Address min/max/fix-content here as well. Perhaps just - combine this step with the previous?</p> + <li>Find the actual main size of the flexbox. If the flexbox's main size + doesn't rely on its contents, it's actual main size is calculated per the + appropriate rules. Otherwise, its main size is the length of its longest + line. <li>For each flexbox line, <a href="#resolve-the-flexible-lengths"><i>resolve the flexible Index: Overview.src.html =================================================================== RCS file: /sources/public/csswg/css3-flexbox/Overview.src.html,v retrieving revision 1.135 retrieving revision 1.136 diff -u -d -r1.135 -r1.136 --- Overview.src.html 31 Jan 2012 00:13:23 -0000 1.135 +++ Overview.src.html 31 Jan 2012 00:42:34 -0000 1.136 @@ -898,22 +898,34 @@ <p>If the flexbox is multi-line, group the flexbox items into multiple lines:</p> <ol> - <li>Determine the main size of the flexbox's content box. + <li> + <p>Determine the maximum line length, based on the main size of the flexbox:</p> - <p class='issue'>Fill in the details about how to do so when the width is min/max/fit-content. This is complicated for multiline, especially for ''flex-flow:column''!</p></li> + <dt> + <dt>size doesn't rely on its contents</dt> + <dd>The maximum line length is main size of the flexbox's content box.</dd> + + <dt>''min-content''</dt> + <dd>The maximum line length is the flexbox's minimum main size.</dd> + + <dt>''max-content''</dt> + <dd>The maximum line length is the flexbox's maximum main size, or infinity if it has no maximum main size.</dd> + + <dt>''fit-content''</dt> + <dd>Same as if the flexbox was sized as ''fill-available''.</dd> + </dt> + </li> <li>Collect as many consecutive flexbox items as possible, starting from the first item, while keeping the sum of their main size smaller than the flexbox's available space. If a flexbox item is sized with a flexible length, then for the purpose of this step, clamp the item's size between its minimum and maximum main sizes. The items so collected form a single flexbox line.</li> <li>Repeat the previous step, starting each time from the first flexbox item not yet collected into a flexbox line, until all flexbox items have been collected into flexbox lines.</li> </ol> - </li> - <li> - <p>Find the actual main size of the flexbox, per the standard rules for blocks (for block flexboxes) or inline-blocks (for inline flexboxes).</p> - - <p class='issue'>Address min/max/fix-content here as well. Perhaps just combine this step with the previous?</p> + <p class='issue'>Define "size doesn't rely on its contents". This should be any <length>, a <percentage> that can be resolved, or ''fill-available''.</p> </li> + <li>Find the actual main size of the flexbox. If the flexbox's main size doesn't rely on its contents, it's actual main size is calculated per the appropriate rules. Otherwise, its main size is the length of its longest line.</li> + <li>For each flexbox line, <i>resolve the flexible lengths</i> of the items contained within it. All flexbox items now have a final main size. Update each item's hypothetical cross size based on this main size.</li> <li>For each flexbox line, align the flexbox items per 'flex-pack'. The leftover free-space for each line is calculated by subtracting the sum of the main sizes of the flexbox items on the line from the main size of the flexbox's content box.</li>
Received on Tuesday, 31 January 2012 00:42:37 UTC