WPT
wpt / css / css-fonts / variations / font-stretch.html
Spec: CSS Fonts ↗
Runs: Chrome 155.0.8041.0 (wpt@07d3da1fa, 2026-09-04) | Firefox 157.0a1 (wpt@4fbf9ef4d, 2026-09-04) | Safari 251 preview (wpt@5ce815a83, 2026-08-27) | Ladybird 1.0-a7825 (wpt@4fbf9ef4d, 2026-09-04) | Servo Servo 0.6 (wpt@7e3d005d7, 2026-09-03) | Blitz a50cb8971 (wpt@a95401e4e, 2026-09-03)
View on the Blitz WPT dashboard | Open test on wpt.live | wpt.fyi
| Chrome | Firefox | Safari | Ladybird | Servo | Blitz | |
|---|---|---|---|---|---|---|
| Total | 50/51 | 50/51 | 50/51 | 50/51 | 50/51 | 50/51 |
| Subtest | Chrome | Firefox | Safari | Ladybird | Servo | Blitz |
|---|---|---|---|---|---|---|
| @supports: 100 - only percentages, not numbers allowed | PASS | PASS | PASS | PASS | PASS | PASS |
| @supports: -1% - negative values are illegal | PASS | PASS | PASS | PASS | PASS | PASS |
| @supports: 0% - zero is legal | PASS | PASS | PASS | PASS | PASS | PASS |
| @getComputedStyle: 0% - zero is legal | PASS | PASS | PASS | PASS | PASS | PASS |
| @supports: 1% - legal percentage | PASS | PASS | PASS | PASS | PASS | PASS |
| @getComputedStyle: 1% - legal percentage | PASS | PASS | PASS | PASS | PASS | PASS |
| @supports: 10% - legal percentage | PASS | PASS | PASS | PASS | PASS | PASS |
| @getComputedStyle: 10% - legal percentage | PASS | PASS | PASS | PASS | PASS | PASS |
| @supports: 100% - legal percentage | PASS | PASS | PASS | PASS | PASS | PASS |
| @getComputedStyle: 100% - legal percentage | PASS | PASS | PASS | PASS | PASS | PASS |
| @supports: 1000% - legal percentage | PASS | PASS | PASS | PASS | PASS | PASS |
| @getComputedStyle: 1000% - legal percentage | PASS | PASS | PASS | PASS | PASS | PASS |
| @supports: 1e9% - huge legal percentage | PASS | PASS | PASS | PASS | PASS | PASS |
| @getComputedStyle: 1e9% - huge legal percentage | FAIL | FAIL | FAIL | FAIL | FAIL | FAIL |
| @supports: ultra-condensed - legal enum | PASS | PASS | PASS | PASS | PASS | PASS |
| @getComputedStyle: ultra-condensed - legal enum | PASS | PASS | PASS | PASS | PASS | PASS |
| @supports: extra-condensed - legal enum | PASS | PASS | PASS | PASS | PASS | PASS |
| @getComputedStyle: extra-condensed - legal enum | PASS | PASS | PASS | PASS | PASS | PASS |
| @supports: condensed - legal enum | PASS | PASS | PASS | PASS | PASS | PASS |
| @getComputedStyle: condensed - legal enum | PASS | PASS | PASS | PASS | PASS | PASS |
| @supports: semi-condensed - legal enum | PASS | PASS | PASS | PASS | PASS | PASS |
| @getComputedStyle: semi-condensed - legal enum | PASS | PASS | PASS | PASS | PASS | PASS |
| @supports: normal - legal enum | PASS | PASS | PASS | PASS | PASS | PASS |
| @getComputedStyle: normal - legal enum | PASS | PASS | PASS | PASS | PASS | PASS |
| @supports: semi-expanded - legal enum | PASS | PASS | PASS | PASS | PASS | PASS |
| @getComputedStyle: semi-expanded - legal enum | PASS | PASS | PASS | PASS | PASS | PASS |
| @supports: expanded - legal enum | PASS | PASS | PASS | PASS | PASS | PASS |
| @getComputedStyle: expanded - legal enum | PASS | PASS | PASS | PASS | PASS | PASS |
| @supports: extra-expanded - legal enum | PASS | PASS | PASS | PASS | PASS | PASS |
| @getComputedStyle: extra-expanded - legal enum | PASS | PASS | PASS | PASS | PASS | PASS |
| @supports: ultra-expanded - legal enum | PASS | PASS | PASS | PASS | PASS | PASS |
| @getComputedStyle: ultra-expanded - legal enum | PASS | PASS | PASS | PASS | PASS | PASS |
| @supports: narrower - deprecated | PASS | PASS | PASS | PASS | PASS | PASS |
| @supports: wider - deprecated | PASS | PASS | PASS | PASS | PASS | PASS |
| @supports: calc(200.5%) - Simple calc value | PASS | PASS | PASS | PASS | PASS | PASS |
| @getComputedStyle: calc(200.5%) - Simple calc value | PASS | PASS | PASS | PASS | PASS | PASS |
| @supports: calc(50%*2 - 20%) - Valid calc expression | PASS | PASS | PASS | PASS | PASS | PASS |
| @getComputedStyle: calc(50%*2 - 20%) - Valid calc expression | PASS | PASS | PASS | PASS | PASS | PASS |
| @supports: calc(-100%) - Negative calc value (to be clamped) | PASS | PASS | PASS | PASS | PASS | PASS |
| @getComputedStyle: calc(-100%) - Negative calc value (to be clamped) | PASS | PASS | PASS | PASS | PASS | PASS |
| @supports: calc(50% - 50%*2) - Negative calc expression (to be clamped) | PASS | PASS | PASS | PASS | PASS | PASS |
| @getComputedStyle: calc(50% - 50%*2) - Negative calc expression (to be clamped) | PASS | PASS | PASS | PASS | PASS | PASS |
| @supports: calc(100) - Unit-less calc value | PASS | PASS | PASS | PASS | PASS | PASS |
| @supports: calc(100px) - Calc value with units | PASS | PASS | PASS | PASS | PASS | PASS |
| @supports: 100% 700% - Extra percentage after numeric value | PASS | PASS | PASS | PASS | PASS | PASS |
| @supports: 100% 100 - Extra content after numeric value | PASS | PASS | PASS | PASS | PASS | PASS |
| @supports: condensed expanded - Extra content after keyword value | PASS | PASS | PASS | PASS | PASS | PASS |
| @supports: calc(100%) 100% - Extra content after calc value | PASS | PASS | PASS | PASS | PASS | PASS |
| Test font-stretch for overridden number condensed | PASS | PASS | PASS | PASS | PASS | PASS |
| Test font-stretch for overridden enum name resolved to number condensed | PASS | PASS | PASS | PASS | PASS | PASS |
| Test font-stretch for inherited named enum resolved to number condensed | PASS | PASS | PASS | PASS | PASS | PASS |