Skip to content

Commit 08459da

Browse files
committed
Added link to DocEng 2012 article and to ALMcss3 prototype.
1 parent f3ecdf1 commit 08459da

1 file changed

Lines changed: 81 additions & 57 deletions

File tree

css3-layout/Overview.src.html

Lines changed: 81 additions & 57 deletions
Original file line numberDiff line numberDiff line change
@@ -684,7 +684,12 @@ <h3 id=dependencies>Dependencies on other modules</h3>
684684
<li><cite>CSS box module</cite> [[!CSS3BOX]] &ndash; properties
685685
<dfn>margin</dfn>, <dfn>margin-right</dfn>, <dfn>margin-left</dfn>,
686686
<dfn>width</dfn>, <dfn>height</dfn>, <dfn>float</dfn>,
687-
<dfn>display</dfn> and <dfn>overflow</dfn>
687+
<dfn>display</dfn> and <dfn>overflow</dfn>; definitions of the terms
688+
<dfn>intrinsic minimum</dfn> and <dfn>intrinsic preferred</dfn> (as in
689+
the phrases “intrinsic preferred width” and “intrinsic minimum width,”
690+
referring roughly to the width of the content without breaking any
691+
lines and the width with as many line breaks as possible.)
692+
688693

689694
<li><cite>CSS text layout</cite> [[!CSS3-WRITING-MODES]] &ndash;
690695
defines <dfn>block flow direction</dfn> and the
@@ -1265,39 +1270,43 @@ <h3 class=grid id=slot-sizes>Calculating the size of the grid</h3>
12651270
as follows:
12661271

12671272
<dl>
1268-
<dt><var>MINW</var>
1273+
<dt><dfn><var>MINW</var></dfn>
12691274
<dd>
12701275
<ul>
12711276
<li>If the slot spans only columns whose width does not depend on the
12721277
contents of the column (i.e., the column widths are specified with
1273-
only <var>&lt;length&gt;</var> values,
1274-
'*', <var>&lt;fraction&gt;</var> values, or any combination of those),
1275-
then <var>MINW</var> is 0. <span class=note>(Note
1276-
that <var>&lt;length&gt;</var> values can be specified with 'calc()'
1277-
as well, see [CSS3VALUES]].)</span>
1278+
only <var>&lt;length&gt;</var> values, '*',
1279+
<var>&lt;fraction&gt;</var> values, or any combination of those), then
1280+
<var>MINW</var> is is the sum of the slot's left and right margin,
1281+
border and paddding (i.e., any 'margin-left', 'margin-right',
1282+
'padding-left' etc., that is set on it by means of the
1283+
<span>'::slot()' pseudo-element</span>). Any ''auto'' margins are
1284+
counted as 0 for this purpose. <span class=note>(Note that
1285+
<var>&lt;length&gt;</var> values can be specified with 'calc()' as
1286+
well, see [CSS3VALUES]].)</span>
12781287

12791288
<li>Otherwise, if the slot is <em>vertical,</em> then <var>MINW</var>
1280-
is the <em>block dimension</em> of the slot, plus its horizontal
1281-
padding, border and margin (i.e., any 'margin-left', 'margin-right',
1282-
etc., that is set on it by means of the <span>'::slot()'
1283-
pseudo-element</span>). Any ''auto'' margins are counted as 0 in this
1284-
case.
1289+
is the width that the slot would have if its height were set to its
1290+
<em>intrinsic preferred</em> height [[!CSS3BOX]], plus its left and
1291+
right padding, border and margin. Any ''auto'' margins are counted as
1292+
0 for this purpose.
12851293

12861294
<li>Otherwise, if the slot spans at least one column whose width is
12871295
specified as ''max-content'' (or 'minmax()' with a first argument of
1288-
''max-content''), then <var>MINW</var> is the intrinsic preferred
1289-
width (see [[!CSS3BOX]]) of the slot plus its horizontal margin,
1290-
border and padding. Any ''auto'' margins are counted as 0 in this
1291-
case.
1296+
''max-content''), then <var>MINW</var> is the <em>intrinsic
1297+
preferred</em> width of the slot plus its left and right margin,
1298+
border and padding. Any ''auto'' margins are counted as 0 for this
1299+
purpose.
12921300

12931301
<li>Otherwise (i.e., the slot spans at least one column whose width is
12941302
specified as ''min-content'' or ''minmax()'' with a first argument of
12951303
''min-content'', but no ''max-content'') <var>MINW</var> is the
1296-
intrinsic minimum width (see [[!CSS3BOX]] of the slot, plus its
1297-
horizontal padding, border and margin.
1304+
<em>intrinsic minimum</em> width of the slot, plus its left and right
1305+
padding, border and margin. Any ''auto'' margins are counted as 0 for
1306+
this purpose.
12981307
</ul>
12991308

1300-
<dt><var>PREFW</var>
1309+
<dt><dfn><var>PREFW</var></dfn>
13011310
<dd>
13021311
<ul>
13031312
<li>If the slot spans only columns whose width does not depend on the
@@ -1307,45 +1316,52 @@ <h3 class=grid id=slot-sizes>Calculating the size of the grid</h3>
13071316
then <var>PREFW</var> is infinite.
13081317

13091318
<li>Otherwise, if the slot is <em>vertical,</em> then <var>PREFW</var>
1310-
is the <em>block dimension</em> of the slot, plus its horizontal
1311-
padding, border and margin.
1319+
is the width that the slot would have if its height were set to its
1320+
<em>intrinsic preferred</em> height, plus the plus its left and right
1321+
padding, border and margin. Any ''auto'' margins are counted as 0 for
1322+
this purpose.
13121323

13131324
<li>Otherwise, if the slot spans at least one column whose width is
13141325
specified as ''max-content'' (or 'minmax()' with a first argument of
1315-
''max-content''), then <var>PREFW</var> is the intrinsic preferred
1316-
width (see [[!CSS3BOX]]) of the slot plus its horizontal margin,
1317-
border and padding.
1318-
1319-
<li>Otherwise <var>PREFW</var> is the intrinsic minimum width (see
1320-
[[!CSS3BOX]] of the slot, plus its horizontal padding, border and
1321-
margin.
1326+
''max-content''), then <var>PREFW</var> is the <em>intrinsic
1327+
preferred</em> width of the slot plus its left and right margin,
1328+
border and padding. Any ''auto'' margins are counted as 0 for this
1329+
purpose.
1330+
1331+
<li>Otherwise <var>PREFW</var> is the <em>intrinsic minimum</em> width
1332+
of the slot, plus its left and right padding, border and margin. Any
1333+
''auto'' margins are counted as 0 for this purpose.
13221334
</ul>
13231335

1324-
<dt><var>MINH</var>
1336+
<dt><dfn><var>MINH</var></dfn>
13251337
<dd>
13261338
<ul>
13271339
<li>If the slot spans only rows whose height does not depend on the
1328-
contents of the column (i.e., the row heights are specified with
1329-
only <var>&lt;length&gt;</var> values,
1330-
'*', <var>&lt;fraction&gt;</var> values, or any combination of those),
1331-
then <var>MINH</var> is 0.
1332-
1333-
<li>Otherwise, if the slot is <em>horizontal,</em>
1334-
then <var>MINH</var> is the <em>block dimension</em> of the slot, plus
1335-
its vertical padding, border and margin
1340+
contents of the column (i.e., the row heights are specified with only
1341+
<var>&lt;length&gt;</var> values, '*', <var>&lt;fraction&gt;</var>
1342+
values, or any combination of those), then <var>MINH</var> is the sum
1343+
of the slot's top and bottom margin, border and padding. Any ''auto''
1344+
margins are counted as 0 for this purpose.
1345+
1346+
<li>Otherwise, if the slot is <em>horizontal,</em> then
1347+
<var>MINH</var> is the height the slot would have if its width were
1348+
set to its <em>intrinsic preferred</em> width, plus its top and bottom
1349+
margin, border and padding. Any ''auto'' margins are counted as 0 for
1350+
this purpose.
13361351

13371352
<li>Otherwise, if the slot spans at least one row whose height is
13381353
specified as ''max-content'' (or 'minmax()' with a first argument of
1339-
''max-content''), then <var>MINH</var> is the intrinsic preferred
1340-
height (see [[!CSS3BOX]]) of the slot plus its vertical margin, border
1341-
and padding.
1342-
1343-
<li>Otherwise <var>MINH</var> is the intrinsic minimum height (see
1344-
[[!CSS3BOX]] of the slot, plus its vertical padding, border and
1345-
margin.
1354+
''max-content''), then <var>MINH</var> is the <em>intrinsic
1355+
preferred</em> height of the slot plus its top and bottom margin,
1356+
border and padding. Any ''auto'' margins are counted as 0 for this
1357+
purpose.
1358+
1359+
<li>Otherwise <var>MINH</var> is the <em>intrinsic minimum</em> height
1360+
of the slot, plus its top and bottom padding, border and margin. Any
1361+
''auto'' margins are counted as 0 for this purpose.
13461362
</ul>
13471363

1348-
<dt><var>PREFH</var>
1364+
<dt><dfn><var>PREFH</var></dfn>
13491365
<dd>
13501366
<ul>
13511367
<li>If the slot spans only rows whose height does not depend on the
@@ -1354,19 +1370,22 @@ <h3 class=grid id=slot-sizes>Calculating the size of the grid</h3>
13541370
'*', <var>&lt;fraction&gt;</var> values, or any combination of those),
13551371
then <var>PREFH</var> is infinite.
13561372

1357-
<li>Otherwise, if the slot is <em>horizontal,</em>
1358-
then <var>PREFH</var> is the <em>block dimension</em> of the slot,
1359-
plus its vertical padding, border and margin.
1373+
<li>Otherwise, if the slot is <em>horizontal,</em> then
1374+
<var>PREFH</var> is the height the slot would have if its width were
1375+
set to its <em>preferred minimum</em> width, plus its top and bottom
1376+
padding, border and margin. Any ''auto'' margins are counted as 0 for
1377+
this purpose.
13601378

13611379
<li>Otherwise, if the slot spans at least one row whose height is
13621380
specified as ''max-content'' (or 'minmax()' with a first argument of
1363-
''max-content''), then <var>PREFH</var> is the intrinsic preferred
1364-
height (see [[!CSS3BOX]]) of the slot plus its vertical margin, border
1365-
and padding.
1366-
1367-
<li>Otherwise <var>PREFH</var> is the intrinsic minimum height (see
1368-
[[!CSS3BOX]] of the slot, plus its vertical padding, border and
1369-
margin.
1381+
''max-content''), then <var>PREFH</var> is the <em>intrinsic
1382+
preferred</em> height of the slot plus its top and bottom margin,
1383+
border and padding. Any ''auto'' margins are counted as 0 for this
1384+
purpose.
1385+
1386+
<li>Otherwise <var>PREFH</var> is the <em>intrinsic preferred</em>
1387+
height of the slot, plus its top and bottom padding, border and
1388+
margin. Any ''auto'' margins are counted as 0 for this purpose.
13701389
</ul>
13711390
</dl>
13721391

@@ -1437,6 +1456,7 @@ <h3 class=grid id=slot-sizes>Calculating the size of the grid</h3>
14371456

14381457
<li>Each column with a width specified as a <var>&lt;length&gt;</var>
14391458
must have exactly that width.
1459+
14401460
<!-- Constraints on rows and column with fractional sizes. -->
14411461

14421462
<li>All rows with a height specified as '*' must have the same height.
@@ -1461,6 +1481,7 @@ <h3 class=grid id=slot-sizes>Calculating the size of the grid</h3>
14611481
W<sub>i</sub> and W<sub>j</sub> must be such that W<sub>i</sub> *
14621482
w<sub>j</sub> = W<sub>j</sub> * W<sub>i</sub>. (I.e., their widths are
14631483
proportional to their number of ''fr'' units.)
1484+
14641485
<!-- Constraints relating to rows and columns without slots that span
14651486
into other rows or columns, i.e., cases where the size of a slot
14661487
can put an upper limits on the size of a row or column -->
@@ -1506,6 +1527,7 @@ <h3 class=grid id=slot-sizes>Calculating the size of the grid</h3>
15061527
infinite <var>PREFW</var>, so this rule effectively puts no constraint
15071528
on that column.
15081529
</div>
1530+
15091531
<!-- Constraints on slots, only to set lower limits. -->
15101532

15111533
<li>Each slot must be at least as wide as its <var>MINW</var>.
@@ -3388,7 +3410,7 @@ <h4>Single letter names vs identifiers</h4>
33883410
so if you run out of letters on the keyboard, you can always make a
33893411
template like this:
33903412

3391-
<pre>DIV {grid: "\1001\1002\1003"
3413+
<pre>DIV {grid: "\1001\1002\1003\1006"
33923414
"\1001\1004\1005\1006"}
33933415
DIV H1 {flow: \1001}</pre>
33943416

@@ -4158,13 +4180,15 @@ <h2 class="no-num" id="acknowledgments">Acknowledgments</h2>
41584180

41594181
<p>César Acebal built the
41604182
first <a href="http://transcendingcss.com/support/almcss.zip" >
4161-
prototype.</a> Andrew Fedoniouk
4183+
prototype,</a> see [[Acebal2012]]. Andrew Fedoniouk
41624184
built <a
41634185
href="http://lists.w3.org/Archives/Public/www-style/2009Mar/0278.html"
41644186
>the second.</a>
41654187
A <a
41664188
href="http://lists.w3.org/Archives/Public/www-style/2009Apr/0383.html"
41674189
>third prototype</a> was made by Alexis Deveria.
4190+
The <a href="http://github.com/acebal/ALMcss3" >fourth prototype,
4191+
ALMcss3,</a> was again made by César Acebal.
41684192

41694193
<!--=================================================================-->
41704194

0 commit comments

Comments
 (0)