@@ -284,6 +284,16 @@ <h2 class="no-num no-toc" id=contents>Table of contents</h2>
284284 < ul class =toc >
285285 < li > < a href ="#calc "> < span class =secno > 8.1. </ span > Mathematical
286286 Expressions: ‘< code class =css > calc()</ code > ’</ a >
287+ < ul class =toc >
288+ < li > < a href ="#calc-syntax "> < span class =secno > 8.1.1. </ span > Syntax</ a >
289+
290+
291+ < li > < a href ="#calc-type-checking "> < span class =secno > 8.1.2. </ span >
292+ Type Checking</ a >
293+
294+ < li > < a href ="#calc-range "> < span class =secno > 8.1.3. </ span > Range
295+ Checking</ a >
296+ </ ul >
287297
288298 < li > < a href ="#cycle "> < span class =secno > 8.2. </ span > Cycling Values:
289299 ‘< code class =css > cycle()</ code > ’</ a >
@@ -1408,6 +1418,15 @@ <h3 id=calc><span class=secno>8.1. </span> Mathematical Expressions:
14081418</ pre >
14091419 </ div >
14101420
1421+ < p > Given the complexities of width and height calculations on table cells
1422+ and table elements, math expressions involving percentages for widths and
1423+ heights on table columns, table column groups, table rows, table row
1424+ groups, and table cells in both auto and fixed layout tables MAY be
1425+ treated as if ‘< code class =property > auto</ code > ’ had been
1426+ specified.
1427+
1428+ < h4 id =calc-syntax > < span class =secno > 8.1.1. </ span > Syntax</ h4 >
1429+
14111430 < p > The expression language of these functions is described by the grammar
14121431 and prose below.
14131432
@@ -1436,6 +1455,18 @@ <h3 id=calc><span class=secno>8.1. </span> Mathematical Expressions:
14361455 | STRING S* | IDENT S* | URI S* | hexcolor | function< ins > | math</ ins >
14371456 ;</ pre >
14381457
1458+ < p > UAs must support ‘< a href ="#calc0 "> < code
1459+ class =css > calc()</ code > </ a > ’ expressions of at least 30 terms, where
1460+ each ‘< a href ="#number "> < code class =css > number</ code > </ a > ’,
1461+ ‘< a href ="#dimension "> < code class =css > dimension</ code > </ a > ’,
1462+ or ‘< a href ="#percentage "> < code
1463+ class =css > percentage</ code > </ a > ’ is a term. If a ‘< a
1464+ href ="#calc0 "> < code class =css > calc()</ code > </ a > ’ expression contains
1465+ more than the supported number of terms, it must be treated as if it were
1466+ invalid.
1467+
1468+ < h4 id =calc-type-checking > < span class =secno > 8.1.2. </ span > Type Checking</ h4 >
1469+
14391470 < p > A math expression has a < dfn id =resolved-type > resolved type</ dfn > , which
14401471 is one of ‘< code class =css > <length> </ code > ’, ‘< code
14411472 class =css > <frequency> </ code > ’, ‘< code
@@ -1485,6 +1516,8 @@ <h3 id=calc><span class=secno>8.1. </span> Mathematical Expressions:
14851516 to zero (as purely-numeric expressions can be evaluated without any
14861517 additional information at parse time).
14871518
1519+ < h4 id =calc-range > < span class =secno > 8.1.3. </ span > Range Checking</ h4 >
1520+
14881521 < p > The value resulting from an expression must be clamped to the range
14891522 allowed in the target context.
14901523
@@ -1501,23 +1534,6 @@ <h3 id=calc><span class=secno>8.1. </span> Mathematical Expressions:
15011534width: 0px;</ pre >
15021535 </ div >
15031536
1504- < p > Given the complexities of width and height calculations on table cells
1505- and table elements, math expressions involving percentages for widths and
1506- heights on table columns, table column groups, table rows, table row
1507- groups, and table cells in both auto and fixed layout tables MAY be
1508- treated as if ‘< code class =property > auto</ code > ’ had been
1509- specified.
1510-
1511- < p > UAs must support ‘< a href ="#calc0 "> < code
1512- class =css > calc()</ code > </ a > ’ expressions of at least 30 terms, where
1513- each ‘< a href ="#number "> < code class =css > number</ code > </ a > ’,
1514- ‘< a href ="#dimension "> < code class =css > dimension</ code > </ a > ’,
1515- or ‘< a href ="#percentage "> < code
1516- class =css > percentage</ code > </ a > ’ is a term. If a ‘< a
1517- href ="#calc0 "> < code class =css > calc()</ code > </ a > ’ expression contains
1518- more than the supported number of terms, it must be treated as if it were
1519- invalid.
1520-
15211537 < h3 id =cycle > < span class =secno > 8.2. </ span > Cycling Values: ‘< a
15221538 href ="#cycle-value "> < code class =css > cycle()</ code > </ a > ’</ h3 >
15231539
@@ -2228,7 +2244,7 @@ <h2 class=no-num id=index>Index</h2>
22282244 title ="<resolution> "> < strong > 6.4.</ strong > </ a >
22292245
22302246 < li > resolved type, < a href ="#resolved-type "
2231- title ="resolved type "> < strong > 8.1.</ strong > </ a >
2247+ title ="resolved type "> < strong > 8.1.2. </ strong > </ a >
22322248
22332249 < li > s, < a href ="#s " title =s > < strong > 6.2.</ strong > </ a >
22342250
0 commit comments