CSSFontPaletteValuesRule
Baseline Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since November 2022.
The CSSFontPaletteValuesRule interface represents an @font-palette-values at-rule.
Instance properties
Inherits properties from its ancestor CSSRule.
CSSFontPaletteValuesRule.nameRead only-
A string with the name of the font palette.
CSSFontPaletteValuesRule.fontFamilyRead only-
A string indicating the font families on which the rule has to be applied.
CSSFontPaletteValuesRule.basePaletteRead only-
A string indicating the base palette associated with the rule.
CSSFontPaletteValuesRule.overrideColorsRead only-
A string indicating the colors of the base palette that are overwritten and the new colors.
Instance methods
Inherits methods from its ancestor CSSRule.
Examples
>Read associated font family using CSSOM
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.
HTML
<pre id="log">The @font-palette-values at-rule font families:</pre> CSS
@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; } JavaScript
const log = document.getElementById("log"); const rules = document.getElementById("css-output").sheet.cssRules; const fontPaletteValuesRule = rules[1]; // aA CSSFontPaletteValuesRule interface log.textContent += ` ${fontPaletteValuesRule.fontFamily}`; Result
Specifications
| Specification |
|---|
| CSS Fonts Module Level 4> # om-fontpalettevalues> |