CSSFontFeatureValuesRule

The CSSFontFeatureValuesRule interface represents an @font-feature-values at-rule, letting developers assign for each font face a common name to specify features indices to be used in font-variant-alternates.

CSSRule CSSFontFeatureValuesRule

Instance properties

Inherits properties from its ancestor CSSRule.

CSSFontFeatureValuesRule.fontFamily

A string that identifies the font family this rule applies to.

Instance methods

Inherits methods from its ancestor CSSRule.

Examples

Read font family

In this example, we declare two @font-feature-values one for the Font One font family, and the other for Font Two. We then use the CSSOM to read these font families, displaying them into the log.

HTML

html

<pre id="log"></pre>

CSS

css

/* At-rule for "nice-style" in Font One */
@font-feature-values Font One {
  @styleset {
    nice-style: 12;
  }
}

/* At-rule for "nice-style" in Font Two */
@font-feature-values Font Two {
  @styleset {
    nice-style: 4;
  }
}

/* Apply the at-rules with a single declaration */
.nice-look {
  font-variant-alternates: styleset(nice-style);
}

JavaScript

js

const log = document.getElementById("log");
const rules = document.styleSheets[document.styleSheets.length - 1].cssRules;

const fontOne = rules[0]; // A CSSFontFeatureValuesRule
log.textContent = `The 1st '@font-feature-values' family: "${fontOne.fontFamily}".\n`;

const fontTwo = rules[1]; // Another CSSFontFeatureValuesRule
log.textContent += `The 2nd '@font-feature-values' family: "${fontTwo.fontFamily}".`;

Specifications

Specification
CSS Fonts Module Level 4
# cssfontfeaturevaluesrule

Browser compatibility

BCD tables only load in the browser

See also