CSS Typed Object Model API
Eingeschränkt verfügbar
Diese Funktion ist nicht Baseline, da sie in einigen der am weitesten verbreiteten Browser nicht funktioniert.
Want more browser support for this feature? Tell us why.
Die CSS Typed Object Model API vereinfacht die Bearbeitung von CSS-Eigenschaften, indem sie CSS-Werte als typisierte JavaScript-Objekte statt als Zeichenfolgen bereitstellt. Dadurch wird nicht nur die Bearbeitung von CSS vereinfacht, sondern auch die Leistung im Vergleich zu HTMLElement.style weniger beeinträchtigt.
Üblicherweise lassen sich CSS-Werte in JavaScript als Zeichenfolgen lesen und schreiben. Das kann langsam und umständlich sein. Die CSS Typed Object Model API stellt Schnittstellen für den Zugriff auf die zugrunde liegenden Werte bereit. Sie stellt diese als spezialisierte JavaScript-Objekte dar, die sich leichter und zuverlässiger bearbeiten lassen als Zeichenfolgen durch Parsen und Verketten. Das erleichtert die Arbeit bei der Entwicklung: Numerische Werte werden beispielsweise als tatsächliche JavaScript-Zahlen dargestellt, für die einheitenbewusste mathematische Operationen definiert sind. Im Allgemeinen ist dies auch schneller, da Werte direkt bearbeitet und anschließend mit geringem Aufwand wieder in die zugrunde liegenden Werte umgewandelt werden können, ohne CSS-Zeichenfolgen erstellen und parsen zu müssen.
CSS Typed OM ermöglicht somit eine leistungsfähige Bearbeitung von Werten, die CSS-Eigenschaften zugewiesen sind, und unterstützt zugleich wartbaren Code, der verständlicher und einfacher zu schreiben ist.
Schnittstellen
>CSSStyleValue
Die Schnittstelle CSSStyleValue der CSS Typed Object Model API ist die Basisklasse für alle CSS-Werte, auf die über die Typed OM API zugegriffen werden kann. Eine Instanz dieser Klasse kann überall dort verwendet werden, wo eine Zeichenfolge erwartet wird.
CSSStyleValue.parse()-
Methode, mit der ein
CSSNumericValueaus einer CSS-Zeichenfolge erstellt werden kann. Sie setzt eine bestimmte CSS-Eigenschaft auf die angegebenen Werte und gibt den ersten Wert alsCSSStyleValue-Objekt zurück. CSSStyleValue.parseAll()-
Methode, die alle Vorkommen einer bestimmten CSS-Eigenschaft auf den angegebenen Wert setzt und ein Array von
CSSStyleValue-Objekten zurückgibt, die jeweils einen der angegebenen Werte enthalten.
StylePropertyMap
Die Schnittstelle StylePropertyMap der CSS Typed Object Model API stellt einen CSS-Deklarationsblock dar und ist eine Alternative zu CSSStyleDeclaration.
StylePropertyMap.set()-
Methode, die die CSS-Deklaration für die angegebene Eigenschaft auf den angegebenen Wert ändert.
StylePropertyMap.append()-
Methode, die der
StylePropertyMapeine neue CSS-Deklaration mit der angegebenen Eigenschaft und dem angegebenen Wert hinzufügt. StylePropertyMap.delete()-
Methode, die die CSS-Deklaration für die angegebene Eigenschaft aus der
StylePropertyMapentfernt. StylePropertyMap.clear()-
Methode, die alle Deklarationen aus der
StylePropertyMapentfernt.
CSSUnparsedValue
Die Schnittstelle CSSUnparsedValue der CSS Typed Object Model API stellt Eigenschaftswerte dar, die auf benutzerdefinierte Eigenschaften verweisen. Sie besteht aus einer Liste von Zeichenfolgenfragmenten und Variablenreferenzen.
CSSUnparsedValue()-Konstruktor-
Erstellt ein neues
CSSUnparsedValue-Objekt, das Eigenschaftswerte darstellt, die auf benutzerdefinierte Eigenschaften verweisen. CSSUnparsedValue.entries()-
Methode, die ein Array der eigenen, aufzählbaren
[key, value]-Paare eines Objekts zurückgibt. Die Reihenfolge entspricht der einerfor...in-Schleife; anders als diese bezieht sie jedoch keine Eigenschaften aus der Prototypkette ein. CSSUnparsedValue.forEach()-
Methode, die eine bereitgestellte Funktion einmal für jedes Element von
CSSUnparsedValueausführt. CSSUnparsedValue.keys()-
Methode, die ein neues Array-Iterator-Objekt zurückgibt, das die Schlüssel für jeden Index im Array enthält.
Serialisierung von CSSKeywordValue
Die Schnittstelle CSSKeywordValue der CSS Typed Object Model API erstellt ein Objekt zur Darstellung von CSS-Schlüsselwörtern und anderen Bezeichnern.
CSSKeywordValue()-Konstruktor-
Erstellt ein neues
CSSKeywordValue()-Objekt, das CSS-Schlüsselwörter und andere Bezeichner darstellt. CSSKeywordValue.value()-
Eigenschaft der Schnittstelle
CSSKeywordValue, die den Wert vonCSSKeywordValuezurückgibt oder festlegt.
CSSStyleValue-Schnittstellen
CSSStyleValue ist die Basisklasse, über die alle CSS-Werte ausgedrückt werden. Zu ihren Unterklassen gehören:
CSSImageValue-
Schnittstelle zur Darstellung von Werten für Eigenschaften, die ein Bild verwenden, beispielsweise
background-image,list-style-imageoderborder-image-source. CSSKeywordValue-
Schnittstelle, die ein Objekt zur Darstellung von CSS-Schlüsselwörtern und anderen Bezeichnern erstellt. Wird sie an einer Stelle verwendet, an der eine Zeichenfolge erwartet wird, gibt sie den Wert von
CSSKeyword.valuezurück. CSSMathValue-
Eine Hierarchie von Unterklassen zur Darstellung numerischer Werte, die komplexer sind als ein einzelner Wert mit einer Einheit. Dazu gehören:
CSSMathMax– stellt die CSS-Funktionmax()dar.CSSMathMin– stellt die CSS-Funktionmin()dar.CSSMathClamp– stellt die CSS-Funktionclamp()dar.CSSMathNegate– negiert den übergebenen Wert.CSSMathInvert– stellt einen Wert der CSS-Funktioncalc()dar, der alscalc(1 / <value>)verwendet wird. Dieser Typ wird intern vondiv()verwendet, um ein entsprechendesCSSMathProductzu erstellen.CSSMathProduct– stellt das Ergebnis eines Aufrufs vonmul()oderdiv()aufCSSNumericValuedar.CSSMathSum– stellt das Ergebnis eines Aufrufs vonadd(),sub()odertoSum()aufCSSNumericValuedar.
CSSNumericValue-
Schnittstelle für Operationen, die alle numerischen Werte ausführen können. Dazu gehören:
CSSNumericValue.add– Addiert die übergebenen Zahlen zumCSSNumericValue.CSSNumericValue.sub– Subtrahiert die übergebenen Zahlen vomCSSNumericValue.CSSNumericValue.mul– Multipliziert denCSSNumericValuemit den übergebenen Zahlen.CSSNumericValue.div– Dividiert denCSSNumericValuedurch den übergebenen Wert und löst einen Fehler aus, wenn dieser0ist.CSSNumericValue.min– Gibt den kleinsten der übergebenen Werte zurück.CSSNumericValue.max– Gibt den größten der übergebenen Werte zurück.CSSNumericValue.equals– Gibttruezurück, wenn jeder übergebene Wert mit demCSSNumericValueübereinstimmt, also dieselben Werte und Einheiten hat; andernfalls wirdfalsezurückgegeben.CSSNumericValue.to– Wandeltvaluein einen Wert mit der angegebenen Einheit um.CSSNumericValue.toSumCSSNumericValue.typeCSSNumericValue.parse– Gibt eine Zahl zurück, die aus einer CSS-Zeichenfolge geparst wurde.
CSSPositionValue-
Stellt Werte für Eigenschaften dar, die eine Position verwenden, beispielsweise object-position.
CSSTransformValue-
Schnittstelle zur Darstellung einer Liste von
transform-Werten. Sie „enthält“ eine oder mehrereCSSTransformComponent-Instanzen, die einzelnetransform-Funktionswerte darstellen. CSSUnitValue-
Schnittstelle zur Darstellung numerischer Werte, die sich durch einen einzelnen Wert mit einer Einheit oder durch eine benannte Zahl und einen Prozentwert ausdrücken lassen.
CSSUnparsedValue-
Stellt Eigenschaftswerte dar, die auf benutzerdefinierte Eigenschaften verweisen. Sie besteht aus einer Liste von Zeichenfolgenfragmenten und Variablenreferenzen.
Spezifikationen
| Spezifikation |
|---|
| CSS Typed OM Level 1> # stylevalue-objects> |
| CSS Typed OM Level 1> # the-stylepropertymap> |
| CSS Typed OM Level 1> # cssunparsedvalue> |
| CSS Typed OM Level 1> # keywordvalue-objects> |