web api interface
CSSFontFaceDescriptors
The CSSFontFaceDescriptors interface represents a CSS declaration block for an @font-face at-rule.
Each descriptor in the body of the corresponding @font-face at-rule can be accessed using either its kebab-case property name in bracket notation or the camel-case version of the property name in dot notation.
For example, you can access the font-family CSS descriptor as style["font-family"] or style.fontFamily, where style is a CSSFontFaceDescriptors instance.
[!NOTE] The
CSSFontFaceRuleinterface represents a@font-faceat-rule, and thestyleproperty is an instance of this object.
Instance properties
Inherits properties from its ancestor CSSStyleDeclaration.
The following property names, in kebab-case (accessed using bracket notation) and camel-case (accessed using dot notation), each represent the value of a descriptor in the corresponding @font-face at-rule:
font-displayorfontDisplay- : A string representing the value of the
font-displaydescriptor.
- : A string representing the value of the
font-familyorfontFamily- : A string representing the value of the
font-familydescriptor.
- : A string representing the value of the
font-feature-settingsorfontFeatureSettings- : A string representing the value of the
font-feature-settingsdescriptor.
- : A string representing the value of the
font-stretchorfontStretch- : A string representing the value of the
font-stretchdescriptor.
- : A string representing the value of the
font-styleorfontStyle- : A string representing the value of the
font-styledescriptor.
- : A string representing the value of the
font-weightorfontWeight- : A string representing the value of the
font-weightdescriptor.
- : A string representing the value of the
font-widthorfontWidthExperimental- : A string representing the value of the
font-widthdescriptor.
- : A string representing the value of the
size-adjustorsizeAdjust- : A string representing the value of the
size-adjustdescriptor.
- : A string representing the value of the
src- : A string representing the value of the
srcdescriptor.
- : A string representing the value of the
unicode-rangeorunicodeRange- : A string representing the value of the
unicode-rangedescriptor.
- : A string representing the value of the
Instance methods
No specific methods; inherits methods from its ancestor CSSStyleDeclaration.
Examples
Accessing @font-face descriptor values
This example defines a @font-face rule and then uses CSSFontFaceDescriptors to read back the descriptor values.
CSS
@font-face {
font-family: "MyHelvetica";
src:
local("Helvetica Neue Bold"),
local("HelveticaNeue-Bold"),
url("MgOpenModernaBold.woff2") format("woff2");
font-weight: bold;
font-style: normal;
font-display: swap;
}
#log {
height: 200px;
overflow: scroll;
padding: 0.5rem;
border: 1px solid black;
}
<pre id="log"></pre>
const logElement = document.querySelector("#log");
function log(text) {
logElement.innerText = `${logElement.innerText}${text}\n`;
logElement.scrollTop = logElement.scrollHeight;
}
JavaScript
const myRules = document.getElementById("css-output").sheet.cssRules;
for (const rule of myRules) {
if (rule instanceof CSSFontFaceRule) {
const style = rule.style; // a CSSFontFaceDescriptors
log(`font-family: ${style.fontFamily}`);
log(`src: ${style.src}`);
log(`font-weight: ${style["font-weight"]}`);
log(`font-style: ${style.fontStyle}`);
log(`font-display: ${style["font-display"]}`);
}
}