This feature is well established and works across many devices and browser versions. It’s been available across browsers since November 2022.
The read-only name property of the CSSFontPaletteValuesRule interface represents the name identifying the associated @font-palette-values at-rule. A valid name always starts with two dashes, such as --Alternate.
A string beginning with two dashes.
This example first defines an @import and an @font-palette-values at-rule. Then it reads the @font-palette-values rule and displays its name. As these rules live in the last stylesheet added to the document, the palette will be the second CSSRule returned by the last stylesheet in the document (document.styleSheets[document.styleSheets.length-1].cssRules). So, rules[1] returns a CSSFontPaletteValuesRule object, from which we can access name.
<pre id="log">The @font-palette-values at-rule's name:</pre>
@import "https://fonts.googleapis.com/css2?family=Bungee+Spice";
@font-palette-values --Alternate {
font-family: "Bungee Spice";
override-colors:
0 #00ffbb,
1 #007744;
}
.alternate {
font-palette: --Alternate;
}
const log = document.getElementById("log");
const rules = document.styleSheets[document.styleSheets.length - 1].cssRules;
const fontPaletteValuesRule = rules[1]; // a CSSFontPaletteValuesRule interface
log.textContent += ` ${fontPaletteValuesRule.name}`;
| Desktop | Mobile | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox for Android | Opera Android | Safari on IOS | Samsung Internet | WebView Android | WebView on iOS | |
name |
101 | 101 | 107 | 87 | 15.4 | 101 | 107 | 70 | 15.4 | 19.0 | 101 | 15.4 |
@font-palette-values at-rule
© 2005–2025 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/CSSFontPaletteValuesRule/name