Click here to download the Blitz Browser!

WPT

wpt / css / css-values / typed_arithmetic.html

Spec: CSS Values ↗

Runs: Chrome 155.0.8039.0 (wpt@d0c38285b, 2026-09-03) | Firefox 157.0a1 (wpt@ed1909ed6, 2026-09-03) | Safari 251 preview (wpt@5ce815a83, 2026-08-27) | Ladybird 1.0-56c61 (wpt@cc4d45aa0, 2026-09-03) | Servo Servo 0.6 (wpt@09159dcb3, 2026-09-02) | Blitz 188486089 (wpt@a95401e4e, 2026-09-02)

View on the Blitz WPT dashboard | Open test on wpt.live | wpt.fyi

ChromeFirefoxSafariLadybirdServoBlitz
Total36/3939/3934/3936/393/390/39
SubtestChromeFirefoxSafariLadybirdServoBlitz
min(1em, 110px / 10px * 1px) should be used-value-equivalent to 10pxPASSPASSPASSPASSFAIL
max(10px, 110px / 10px * 1px) should be used-value-equivalent to 11pxPASSPASSPASSPASSFAIL
max(1em + 2px, 110px / 10px * 1px) should be used-value-equivalent to 12pxPASSPASSPASSPASSFAIL
max(1em + 2%, 110px / 10px * 1px) should be used-value-equivalent to 12pxPASSPASSPASSPASSFAIL
clamp(110px / 10px * 1px, 1em + 200%, 200% * 1% / 1em) should be used-value-equivalent to 20pxPASSPASSPASSPASSFAIL
calc(3 + sign(10px / 1rem - sign(1em + 1px))) should be used-value-equivalent to 3PASSPASSPASSPASSFAIL
calc(10em / 1em) should be used-value-equivalent to 10PASSPASSPASSPASSFAIL
calc(10em / 1rem) should be used-value-equivalent to 10PASSPASSPASSPASSFAIL
calc(10em / 1px) should be used-value-equivalent to 100PASSPASSPASSPASSFAIL
calc(1px / 10em * NaN) should be used-value-equivalent to 0PASSPASSPASSPASSFAIL
calc(10% / 1px) should be used-value-equivalent to 1FAILPASSFAILFAILFAIL
calc(1% * 100% / 10%) should be used-value-equivalent to 10%PASSPASSPASSPASSFAIL
calc(10% / 10%) should be used-value-equivalent to 1PASSPASSPASSPASSFAIL
calc((10% * 1%) / 1px) should be used-value-equivalent to 10pxPASSPASSPASSPASSFAIL
calc(10% * 10% / 1px * 10deg / 1deg / 10px) should be used-value-equivalent to 1FAILPASSFAILFAILFAIL
calc(10% * 10% / 1px * 1deg / 1deg) should be used-value-equivalent to 1pxFAILPASSFAILPASSFAIL
calc(1px * 2deg / 1deg) should be used-value-equivalent to 2pxPASSPASSPASSPASSFAIL
calc(1px * 3deg / 1deg / 1px) should be used-value-equivalent to 3PASSPASSPASSPASSFAIL
calc(1px * pow(50% / 1px, 1)) should be used-value-equivalent to 50pxPASSPASSPASSPASSFAIL
e.style['width'] = "calc((1% * 1deg) / 1px)" should not set the property valuePASSPASSPASSPASSPASS
e.style['width'] = "calc((1% * 1% * 1%) / 1px)" should not set the property valuePASSPASSPASSPASSPASS
Property width value 'calc(1px * 10em / 0em)'PASSPASSPASSPASSFAIL
Property width value 'calc(1px / 1px * 10em * infinity)'PASSPASSPASSPASSFAIL
Property margin-left value 'calc(1px * 10em / -0em)'PASSPASSPASSPASSFAIL
Property z-index value 'calc(10em / 0em)'PASSPASSPASSPASSFAIL
sign(-0em / 1px) should be used-value-equivalent to 0PASSPASSPASSPASSFAIL
clamp(-1, 1 / sign(-0em / 1px), 1) should be used-value-equivalent to -1PASSPASSPASSPASSFAIL
sign( 0cqi / 1px) should be used-value-equivalent to 0PASSPASSPASSPASSFAIL
clamp(-1, 1 / sign( 0cqi / 1px), 1) should be used-value-equivalent to 1PASSPASSPASSPASSFAIL
sign(atan2(-0cap / 1px, 0em / 1px)) should be used-value-equivalent to 0PASSPASSPASSPASSFAIL
clamp(-1, 1 / sign(atan2(-0cap / 1px, 0em / 1px)), 1) should be used-value-equivalent to -1PASSPASSPASSPASSFAIL
sign(exp(-1vh / 0px)) should be used-value-equivalent to 0PASSPASSPASSPASSFAIL
clamp(-1, 1 / sign(exp(-1vh / 0px)), 1) should be used-value-equivalent to 1PASSPASSPASSPASSFAIL
calc(20cqw / 1rem) should be used-value-equivalent to 2PASSPASSPASSPASSFAIL
Property animation-duration value 'calc(2s / (10s - 10s) * 1s)'PASSPASSPASSPASSFAIL
subtraction of angle unit: deg minus turnPASSPASSPASSPASSFAIL
e.style['width'] = "calc(1px * 1px * 2 * 2 * 2 * 2 * 2 * 2 * 2 * 2 * 2 * 2 * 2 * 2 * 2 * 2 * 2 * 2 * 2 * 2 * 2 * 2 * 2 * 2 * 2 * 2 * 2 * 2 * 2 * 2 * 2 * 2 * 2 * 2 * 2 * 2 * 2 * 2 * 2 * 2 * 2 * 2 * 2 * 2 * 2 * 2 * 2 * 2 * 2 * 2 * 2 * 2 * 2 * 2 * 2 * 2 * 2 * 2 * 2 * 2 * 2 * 2 * 2 * 2 * 2 * 2 * 2 * 2 * 2 * 2 * 2 * 2 * 2 * 2 * 2 * 2 * 2 * 2 * 2 * 2 * 2 * 2 * 2 * 2 * 2 * 2 * 2 * 2 * 2 * 2 * 2 * 2 * 2 * 2 * 2 * 2 * 2 * 2 * 2 * 2 * 2 * 2 * 2 * 2 * 2 * 2 * 2 * 2 * 2 * 2 * 2 * 2 * 2 * 2 * 2 * 2 * 2 * 2 * 2 * 2 * 2 * 2 * 2 * 2 * 2 * 2 * 2 * 2 * 2 * 2 * 2 * 2 * 2 * 2 * 2 * 2 * 2 * 2 * 2 * 2 * 2 * 2 * 2 * 2 * 2 * 2 * 2 * 2 * 2 * 2 * 2 * 2 * 2 * 2 * 2 * 2 * 2 * 2 * 2 * 2 * 2 * 2 * 2 * 2 * 2 * 2 * 2 * 2 * 2 * 2 * 2 * 2 * 2 * 2 * 2 * 2 * 2 * 2 * 2 * 2 * 2 * 2 * 2 * 2 * 2 * 2 * 2 * 2 * 2 * 2 * 2 * 2 * 2 * 2 * 2 * 2 * 2 * 2 * 2 * 2 * 2 * 2)" should not set the property valuePASSPASS
e.style['width'] = "calc(1px + 1em + 1em + 1em + 1em + 1em + 1em + 1em + 1em + 1em + 1em + 1em + 1em + 1em + 1em + 1em + 1em + 1em + 1em + 1em + 1em + 1em + 1em + 1em + 1em + 1em + 1em + 1em + 1em + 1em + 1em + 1em + 1em + 1em + 1em + 1em + 1em + 1em + 1em + 1em + 1em + 1em + 1em + 1em + 1em + 1em + 1em + 1em + 1em + 1em + 1em + 1em + 1em + 1em + 1em + 1em + 1em + 1em + 1em + 1em + 1em + 1em + 1em + 1em + 1em + 1em + 1em + 1em + 1em + 1em + 1em + 1em + 1em + 1em + 1em + 1em + 1em + 1em + 1em + 1em + 1em + 1em + 1em + 1em + 1em + 1em + 1em + 1em + 1em + 1em + 1em + 1em + 1em + 1em + 1em + 1em + 1em + 1em + 1em + 1em + 1em + 1em + 1em + 1em + 1em + 1em + 1em + 1em + 1em + 1em + 1em + 1em + 1em + 1em + 1em + 1em + 1em + 1em + 1em + 1em + 1em + 1em + 1em + 1em + 1em + 1em + 1em + 1em + 1em + 1em + 1em + 1em + 1em + 1em + 1em + 1em + 1em + 1em + 1em + 1em + 1em + 1em + 1em + 1em + 1em + 1em + 1em + 1em + 1em + 1em + 1em + 1em + 1em + 1em + 1em + 1em + 1em + 1em + 1em + 1em + 1em + 1em + 1em + 1em + 1em + 1em + 1em + 1em + 1em + 1em + 1em + 1em + 1em + 1em + 1em + 1em + 1em + 1em + 1em + 1em + 1em + 1em + 1em + 1em + 1em + 1em + 1em + 1em + 1em + 1em + 1em + 1em + 1em + 1em + 1em + 1em + 1em + 1em + 1em + 1em + 1em + 1em)" should not set the property valueFAILFAIL
Uncaught JS errorFAIL
calc(1lh / 1px) should be used-value-equivalent to 20PASSPASSPASS
calc(10% / 20%) should be used-value-equivalent to 0.5PASSPASSPASS
e.style['z-index'] = "calc(10% / 20%)" should not set the property valuePASSPASSFAIL