@@ -1482,17 +1482,26 @@ <h4 id=calc-type-checking><span class=secno>8.1.2. </span> Type Checking</h4>
14821482 operators for simplicity):
14831483
14841484 < ul >
1485- < li > At ‘< code class =css > ,</ code > ’, ‘< code class =css > +</ code > ’, or
1486- ‘< code class =css > -</ code > ’, check that both sides have the same type;
1487- resolve to that type.
1488-
1489- < li > At ‘< code class =css > *</ code > ’, check that at least one side is < a
1490- href ="#number-value "> < var > <number> </ var > </ a > ; resolve to the type of
1491- the other side
1492-
1493- < li > At ‘< code class =css > /</ code > ’, check that the right side is < a
1494- href ="#number-value "> < var > <number> </ var > </ a > ; resolve to the type of
1495- the left side.
1485+ < li > At ‘< code class =css > ,</ code > ’, ‘< code class =css > +</ code > ’, or
1486+ ‘< code class =css > -</ code > ’, check that both sides have the same type,
1487+ or that one side is a < a href ="#number-value "> < var > <number> </ var > </ a >
1488+ and the other is an < a href ="#integer-value "> < var > <integer> </ var > </ a > .
1489+ If both sides are the same type, resolve to that type. If one side is a
1490+ < a href ="#number-value "> < var > <number> </ var > </ a > and the other is an < a
1491+ href ="#integer-value "> < var > <integer> </ var > </ a > , resolve to < a
1492+ href ="#number-value "> < var > <number> </ var > </ a > .
1493+
1494+ < li > At ‘< code class =css > *</ code > ’, check that at least one side is < a
1495+ href ="#number-value "> < var > <number> </ var > </ a > . If both sides are < a
1496+ href ="#integer-value "> < var > <integer> </ var > </ a > , resolve to < a
1497+ href ="#integer-value "> < var > <integer> </ var > </ a > . Otherwise, resolve to
1498+ the type of the other side.
1499+
1500+ < li > At ‘< code class =css > /</ code > ’, check that the right side is < a
1501+ href ="#number-value "> < var > <number> </ var > </ a > . If the left side is < a
1502+ href ="#integer-value "> < var > <integer> </ var > </ a > , resolve to < a
1503+ href ="#number-value "> < var > <number> </ var > </ a > . Otherwise, resolve to
1504+ the type of the left side.
14961505 </ ul >
14971506
14981507 < p > If an operator does not pass the above checks, the expression is
@@ -1501,11 +1510,6 @@ <h4 id=calc-type-checking><span class=secno>8.1.2. </span> Type Checking</h4>
15011510 to zero (as purely-numeric expressions can be evaluated without any
15021511 additional information at parse time).
15031512
1504- < p > If the type of the result, after resolving all subexpressions, is an
1505- integral < a href ="#number-value "> < var > <number> </ var > </ a > , the
1506- calc()'s resolved type is < a
1507- href ="#integer-value "> < var > <integer> </ var > </ a > .
1508-
15091513 < h4 id =calc-range > < span class =secno > 8.1.3. </ span > Range Checking</ h4 >
15101514
15111515 < p > The value resulting from an expression must be clamped to the range
0 commit comments