The CSSFontPaletteValuesRule interface represents an @font-palette-values at-rule.
Inherits properties from its ancestor CSSRule.
CSSFontPaletteValuesRule.name Read onlyA string with the name of the font palette.
CSSFontPaletteValuesRule.fontFamily Read onlyA string indicating the font families on which the rule has to be applied.
CSSFontPaletteValuesRule.basePalette Read onlyA string indicating the base palette associated with the rule.
CSSFontPaletteValuesRule.overrideColors Read onlyA string indicating the colors of the base palette that are overwritten and the new colors.
Inherits methods from its ancestor CSSRule.
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. The MDN live sample infrastructure combines all the CSS blocks in the example into a single inline style with the id css-output, so we first use document.getElementById() to find that sheet. The palette will be the second CSSRule in that stylesheet. So, rules[1] returns a CSSFontPaletteValuesRule object, from which we can access fontFamily.
<pre id="log">The @font-palette-values at-rule font families:</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.getElementById("css-output").sheet.cssRules;
const fontPaletteValuesRule = rules[1]; // aA CSSFontPaletteValuesRule interface
log.textContent += ` ${fontPaletteValuesRule.fontFamily}`;