CSSFontPaletteValuesRule: fontFamily property

Baseline 2022

Newly available

Since November 2022, this feature works across the latest devices and browser versions. This feature might not work in older devices or browsers.

The read-only fontFamily property of the CSSFontPaletteValuesRule interface lists the font families the rule can be applied to. The font families must be named families; generic families like courier are not valid.

Value

A string containing a space-separated list of the font families on which the rule can be applied

Examples

Read the associated font family

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 fontFamily.

HTML

html
<pre id="log">
The @font-palette-values at-rule's applies to the font families:</pre
>

CSS

css
@import url(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

js
const log = document.getElementById("log");

const rules = document.styleSheets[document.styleSheets.length - 1].cssRules;
const fontPaletteValuesRule = rules[1]; // a CSSFontPaletteValuesRule interface
log.textContent += ` ${fontPaletteValuesRule.fontFamily}`;

Result

Specifications

Specification
CSS Fonts Module Level 4
# dom-cssfontpalettevaluesrule-fontfamily

Browser compatibility

BCD tables only load in the browser

See also