CSS Typed Object Model API
Die CSS Typed Object Model API vereinfacht die Manipulation von CSS-Eigenschaften, indem sie CSS-Werte als typisierte JavaScript-Objekte anstatt als Strings bereitstellt. Dies vereinfacht nicht nur die CSS-Manipulation, sondern verringert auch die negativen Auswirkungen auf die Leistung im Vergleich zu HTMLElement.style.
Normalerweise können CSS-Werte in JavaScript als Strings gelesen und geschrieben werden, was langsam und umständlich sein kann. Die CSS Typed Object Model API stellt Schnittstellen zur Verfügung, um mit zugrunde liegenden Werten zu interagieren, indem sie durch spezialisierte JS-Objekte repräsentiert werden, die einfacher zu manipulieren und zuverlässiger zu verstehen sind als das Parsen und Verkettung von Strings. Dies ist für Autoren einfacher (zum Beispiel werden numerische Werte als tatsächliche JS-Zahlen widergespiegelt und haben einenheitliche mathematische Operationen, die für sie definiert sind). Es ist auch in der Regel schneller, da Werte direkt manipuliert und dann kostengünstig zurück in die zugrunde liegenden Werte übersetzt werden können, ohne Strings von CSS aufbauen und parsen zu müssen.
CSS Typed OM ermöglicht sowohl eine performante Manipulation von Werten, die CSS-Eigenschaften zugewiesen sind, als auch die Erstellung von wartbarem Code, der sowohl verständlicher als auch einfacher zu schreiben ist.
Schnittstellen
>CSSStyleValue
Die CSSStyleValue Schnittstelle der CSS Typed Object Model API ist die Basisklasse aller über die Typed OM API zugänglichen CSS-Werte. Eine Instanz dieser Klasse kann überall verwendet werden, wo ein String erwartet wird.
CSSStyleValue.parse()-
Methode, die es ermöglicht,
CSSNumericValueaus einem CSS-String zu konstruieren. Sie setzt eine spezifische CSS-Eigenschaft auf die angegebenen Werte und gibt den ersten Wert alsCSSStyleValue-Objekt zurück. CSSStyleValue.parseAll()-
Methode, die alle Vorkommen einer spezifischen CSS-Eigenschaft auf den angegebenen Wert setzt und ein Array von
CSSStyleValue-Objekten zurückgibt, die jeweils einen der angegebenen Werte enthalten.
StylePropertyMap
Die StylePropertyMap Schnittstelle der CSS Typed Object Model API bietet eine Darstellung eines CSS-Deklarationsblocks, die eine Alternative zu CSSStyleDeclaration darstellt.
StylePropertyMap.set()-
Methode, die die CSS-Deklaration mit der angegebenen Eigenschaft auf den gegebenen Wert ändert.
StylePropertyMap.append()-
Methode, die eine neue CSS-Deklaration mit der angegebenen Eigenschaft und dem Wert zum
StylePropertyMaphinzufügt. StylePropertyMap.delete()-
Methode, die die CSS-Deklaration mit der angegebenen Eigenschaft aus dem
StylePropertyMapentfernt. StylePropertyMap.clear()-
Methode, die alle Deklarationen im
StylePropertyMapentfernt.
CSSUnparsedValue
Die CSSUnparsedValue Schnittstelle der CSS Typed Object Model API repräsentiert Eigenschaftswerte, die benutzerdefinierte Eigenschaften referenzieren. Sie besteht aus einer Liste von String-Fragmenten und Variablenreferenzen.
CSSUnparsedValue()Konstruktor-
Erstellt ein neues
CSSUnparsedValue-Objekt, das Eigenschaftswerte repräsentiert, die benutzerdefinierte Eigenschaften referenzieren. CSSUnparsedValue.entries()-
Methode, die ein Array von eigenen aufzählbaren
[key, value]Paaren eines gegebenen Objekts in der gleichen Reihenfolge wie bei einemfor...in-Schleife zurückgibt (mit dem Unterschied, dass eine for-in-Schleife auch Eigenschaften in der Prototypenkette aufzählt). CSSUnparsedValue.forEach()-
Führt eine bereitgestellte Funktion je einmal für jedes Element des
CSSUnparsedValueaus. CSSUnparsedValue.keys()-
Methode, die ein neues Array-Iterator-Objekt zurückgibt, das die Schlüssel für jeden Index im Array enthält.
CSSKeywordValue Serialisierung
Die CSSKeywordValue Schnittstelle der CSS Typed Object Model API erstellt ein Objekt, um CSS-Stichwörter und andere Bezeichner zu repräsentieren.
CSSKeywordValue()Konstruktor-
Konstruktor erstellt ein neues
CSSKeywordValue()Objekt, das CSS-Stichwörter und andere Bezeichner repräsentiert. CSSKeywordValue.value()-
Eigenschaft der
CSSKeywordValueSchnittstelle, die den Wert derCSSKeywordValuezurückgibt oder setzt.
CSSStyleValue Schnittstellen
CSSStyleValue ist die Basisklasse, durch die alle CSS-Werte ausgedrückt werden. Unterklassen schließen ein:
CSSImageValue-
Eine Schnittstelle, die Werte für Eigenschaften repräsentiert, die ein Bild annehmen, zum Beispiel
background-image,list-style-imageoderborder-image-source. CSSKeywordValue-
Eine Schnittstelle, die ein Objekt erstellt, um CSS-Stichwörter und andere Bezeichner zu repräsentieren. Wenn sie dort verwendet wird, wo ein String erwartet wird, gibt sie den Wert von
CSSKeyword.valuezurück. CSSMathValue-
Ein Baum von Unterklassen, die numerische Werte repräsentieren, die komplizierter sind als ein einzelner Wert und eine Einheit, einschließlich:
CSSMathInvert- repräsentiert einen CSScalc()Wert, der alscalc(1 / <value>)verwendet wird.CSSMathMax- repräsentiert die CSSmax()Funktion.CSSMathMin- repräsentiert die CSSmin()Funktion.CSSMathNegate- negiert den übergebenen Wert.CSSMathProduct- repräsentiert das Ergebnis, das durch Aufruf vonadd(),sub()odertoSum()aufCSSNumericValueerhalten wird.CSSMathSum- repräsentiert das Ergebnis, das durch Aufruf vonadd(),sub()odertoSum()aufCSSNumericValueerhalten wird.
CSSNumericValue-
Eine Schnittstelle, die Operationen repräsentiert, die alle numerischen Werte durchführen können, einschließlich:
CSSNumericValue.add- Fügt den übergebenen Zahlen zurCSSNumericValuehinzu.CSSNumericValue.sub- Subtrahiert die übergebenen Zahlen von derCSSNumericValue.CSSNumericValue.mul- Multipliziert die übergebenen Zahlen mit derCSSNumericValue.CSSNumericValue.div- Teilt dieCSSNumericValuedurch den übergebenen Wert und wirft einen Fehler, wenn0.CSSNumericValue.min- Gibt den minimal übergebenen Wert zurück.CSSNumericValue.max- Gibt den maximal übergebenen Wert zurück.CSSNumericValue.equals- Gibt wahr zurück, wenn alle Werte denselben Typ und Wert in der gleichen Reihenfolge haben. Andernfalls falsch.CSSNumericValue.to- Konvertiertvaluein einen anderen mit der angegebenen Einheit.CSSNumericValue.toSumCSSNumericValue.typeCSSNumericValue.parse- Gibt eine Zahl zurück, die aus einem CSS-String geparst wird.
CSSPositionValue-
Repräsentiert Werte für Eigenschaften, die eine Position annehmen, zum Beispiel
object-position. CSSTransformValue-
Eine Schnittstelle, die eine Liste von
transformListeneinträgen repräsentiert. Sie "enthalten" einen oder mehrereCSSTransformComponents, die einzelnetransformFunktionswerte repräsentieren. CSSUnitValue-
Eine Schnittstelle, die numerische Werte repräsentiert, die als eine einzige Einheit oder ein benannter Nummer und Prozentsatz dargestellt werden können.
CSSUnparsedValue-
Repräsentiert Eigenschaftswerte, die benutzerdefinierte Eigenschaften. Es besteht aus einer Liste von String-Fragmenten und Variablenreferenzen.
Spezifikationen
| Specification |
|---|
| 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> |
Browser-Kompatibilität
>api.CSSStyleValue
Loading…
api.StylePropertyMap
Loading…
api.CSSUnparsedValue
Loading…
api.CSSKeywordValue
Loading…