CSSFontFeatureValuesRule
Baseline 2025>
Neu verfügbar
*
Seit März 2025 funktioniert diese Funktion auf aktuellen Geräten und in aktuellen Browserversionen. Auf älteren Geräten oder in älteren Browsern funktioniert sie möglicherweise nicht.
* Einige Teile dieser Funktion werden möglicherweise unterschiedlich gut unterstützt.
Die CSSFontFeatureValuesRule-Schnittstelle repräsentiert eine @font-feature-values-At-Regel. Auf die Werte ihrer Instanzeigenschaften kann über die CSSFontFeatureValuesMap-Schnittstelle zugegriffen werden.
Mit @font-feature-values können Entwickler für eine bestimmte Schriftart einen für Menschen lesbaren Namen mit einem numerischen Index verknüpfen, der eine bestimmte OpenType-Schriftfunktion steuert.
Bei Funktionen, die alternative Glyphen auswählen (stylistic, styleset, character-variant, swash, ornament oder annotation), kann die Eigenschaft font-variant-alternates anschließend auf diesen Namen verweisen, um die zugehörige Funktion anzuwenden.
Das ist praktisch, weil sich mit demselben Namen alternative Glyphen verschiedener Schriftarten ansprechen lassen.
Instanzeigenschaften
Erbt Eigenschaften von der übergeordneten Schnittstelle CSSRule.
CSSFontFeatureValuesRule.annotationSchreibgeschützt-
Eine benutzerdefinierte Wertdefinition und ein Wert, die eine alternative Annotation der Schriftart anwenden.
CSSFontFeatureValuesRule.characterVariantSchreibgeschützt-
Eine benutzerdefinierte Wertdefinition und ein Wert, die stilistische Alternativen für Zeichen der Schriftart anwenden.
CSSFontFeatureValuesRule.fontFamily-
Eine Zeichenfolge, die die Schriftfamilie angibt, für die diese Regel gilt.
CSSFontFeatureValuesRule.ornamentsSchreibgeschützt-
Eine benutzerdefinierte Wertdefinition und ein Wert, die alternative Ornamente der Schriftart anwenden.
CSSFontFeatureValuesRule.stylesetSchreibgeschützt-
Eine benutzerdefinierte Wertdefinition und ein Wert, die alternative Stilsätze der Schriftart anwenden.
CSSFontFeatureValuesRule.stylisticSchreibgeschützt-
Eine benutzerdefinierte Wertdefinition und ein Wert, die alternative Glyphen der Schriftart anwenden.
CSSFontFeatureValuesRule.swashSchreibgeschützt-
Eine benutzerdefinierte Wertdefinition und ein Wert, die alternative Schwungformen der Schriftart anwenden.
Instanzmethoden
Erbt Methoden von der übergeordneten Schnittstelle CSSRule.
Beispiele
>Schriftfamilie auslesen
In diesem Beispiel deklarieren wir zwei @font-feature-values-Regeln: eine für die Schriftfamilie Font One und eine für Font Two.
In beiden Deklarationen legen wir fest, dass der Name „nice-style“ die alternativen Glyphen eines Stilsatzes für beide Schriftarten repräsentiert. Dazu geben wir jeweils den Index dieser Alternative in der betreffenden Schriftfamilie an.
Die alternativen Glyphen werden dann mithilfe von font-variant-alternates auf alle Elemente mit der Klasse .nice-look angewendet, indem der Name an die Funktion styleset() übergeben wird.
Anschließend lesen wir diese Deklarationen über das CSSOM als CSSFontFeatureValuesRule-Instanzen aus und geben sie im Log aus.
CSS
/* At-rule for "nice-style" in Font One */
@font-feature-values Font One {
@styleset {
nice-style: 12; /* name used to represent the alternate set of glyphs at index 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
); /* name selects different index for same alternate in different fonts */
}
JavaScript
const logElement = document.querySelector("#log");
function log(text) {
logElement.innerText = `${logElement.innerText}${text}\n`;
logElement.scrollTop = logElement.scrollHeight;
}
const rules = document.getElementById("css-output").sheet.cssRules;
const fontOne = rules[0]; // A CSSFontFeatureValuesRule
log(`The 1st '@font-feature-values' family: "${fontOne.fontFamily}".`);
const fontTwo = rules[1]; // Another CSSFontFeatureValuesRule
log(`The 2nd '@font-feature-values' family: "${fontTwo.fontFamily}"`);
Spezifikationen
| Spezifikation |
|---|
| CSS Fonts Module Level 4> # om-fontfeaturevalues> |