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 und nicht als Strings bereitstellt. Dies vereinfacht nicht nur die CSS-Manipulation, sondern verringert auch die negativen Auswirkungen auf die Leistung im Vergleich zu HTMLElement.style
.
In der Regel 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 bietet Schnittstellen zur Interaktion mit zugrundeliegenden Werten, indem sie diese als spezialisierte JS-Objekte darstellt, die leichter und zuverlässiger manipuliert und verstanden werden können als das Parsen und Zusammenfügen von Strings. Dies ist für die Autoren einfacher (zum Beispiel werden Zahlenwerte mit echten JS-Zahlen widergespiegelt und haben einheitenbewusste mathematische Operationen definiert). Es ist auch allgemein schneller, da Werte direkt manipuliert und dann kostengünstig in zugrunde liegende Werte zurückübersetzt werden können, ohne dass CSS-Strings erstellt und geparst werden müssen.
CSS Typed OM ermöglicht sowohl die performante Manipulation von Werten, die CSS-Eigenschaften zugewiesen sind, als auch die Erstellung von wartbarem Code, der sowohl verständlicher als auch leichter zu schreiben ist.
Schnittstellen
CSSStyleValue
Die CSSStyleValue
-Schnittstelle der CSS Typed Object Model API ist die Basisklasse aller CSS-Werte, die über die Typed OM API zugänglich sind. Eine Instanz dieser Klasse kann überall dort verwendet werden, wo ein String erwartet wird.
CSSStyleValue.parse()
-
Methode, die es ermöglicht,
CSSNumericValue
aus einem CSS-String zu konstruieren. Es 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 StylePropertyMap
-Schnittstelle der CSS Typed Object Model API bietet eine Darstellung eines CSS-Deklarationsblocks, der eine Alternative zu CSSStyleDeclaration
darstellt.
StylePropertyMap.set()
-
Methode, die die CSS-Deklaration mit der gegebenen Eigenschaft auf den angegebenen Wert ändert.
StylePropertyMap.append()
-
Methode, die eine neue CSS-Deklaration zur
StylePropertyMap
mit der gegebenen Eigenschaft und dem Wert hinzufügt. StylePropertyMap.delete()
-
Methode, die die CSS-Deklaration mit der gegebenen Eigenschaft aus der
StylePropertyMap
entfernt. StylePropertyMap.clear()
-
Methode, die alle Deklarationen in der
StylePropertyMap
entfernt.
CSSUnparsedValue
Die CSSUnparsedValue
-Schnittstelle der CSS Typed Object Model API repräsentiert Eigenschaftswerte, die auf benutzerdefinierte Eigenschaften verweisen. Sie besteht aus einer Liste von String-Fragmenten und Variablenverweisen.
CSSUnparsedValue()
Konstruktor-
Erstellt ein neues
CSSUnparsedValue
-Objekt, das Eigenschaftswerte repräsentiert, die auf benutzerdefinierte Eigenschaften verweisen. CSSUnparsedValue.entries()
-
Methode, die ein Array der eigenen aufzählbaren Eigenschaften
[Schlüssel, Wert]
-Paare eines gegebenen Objekts in der gleichen Reihenfolge wie bei einerfor...in
-Schleife zurückgibt (der Unterschied besteht darin, dass eine for-in-Schleife auch Eigenschaften in der Prototyp-Kette aufzählt). CSSUnparsedValue.forEach()
-
Methode, die eine bereitgestellte Funktion einmal für jedes Element des
CSSUnparsedValue
ausführt. CSSUnparsedValue.keys()
-
Methode, die ein neues Array-Iterator Objekt zurückgibt, das die Schlüssel für jedes Index im Array beinhaltet.
CSSKeywordValue
Serialisierung
Die CSSKeywordValue
-Schnittstelle der CSS Typed Object Model API erstellt ein Objekt, um CSS-Schlüsselwörter und andere Bezeichner darzustellen.
CSSKeywordValue()
Konstruktor-
Konstruktor erstellt ein neues
CSSKeywordValue()
-Objekt, das CSS-Schlüsselwörter und andere Bezeichner repräsentiert. CSSKeywordValue.value()
-
Eigenschaft der
CSSKeywordValue
-Schnittstelle, die den Wert desCSSKeywordValue
zurückgibt oder setzt.
CSSStyleValue Schnittstellen
CSSStyleValue
ist die Basisklasse, durch die alle CSS-Werte ausgedrückt werden. Unterklassen sind:
CSSImageValue
-
Eine Schnittstelle, die Werte für Eigenschaften repräsentiert, die ein Bild erfordern, zum Beispiel
background-image
,list-style-image
oderborder-image-source
. CSSKeywordValue
-
Eine Schnittstelle, die ein Objekt erstellt, um CSS-Schlüsselwörter und andere Bezeichner darzustellen. Wenn sie dort verwendet wird, wo ein String erwartet wird, wird der Wert von
CSSKeyword.value
zurückgegeben. 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 ihm übergebenen Wert.CSSMathProduct
- repräsentiert das Ergebnis, das durch den Aufruf vonadd()
,sub()
odertoSum()
aufCSSNumericValue
erhalten wird.CSSMathSum
- repräsentiert das Ergebnis, das durch den Aufruf vonadd()
,sub()
odertoSum()
aufCSSNumericValue
erhalten wird.
CSSNumericValue
-
Eine Schnittstelle, die Operationen repräsentiert, die alle numerischen Werte durchführen können, einschließlich:
CSSNumericValue.add
- Fügt die angegebenen Zahlen zurCSSNumericValue
hinzu.CSSNumericValue.sub
- Zieht die angegebenen Zahlen von derCSSNumericValue
ab.CSSNumericValue.mul
- Multipliziert die angegebenen Zahlen zurCSSNumericValue
.CSSNumericValue.div
- Teilt dieCSSNumericValue
durch den angegebenen Wert und löst einen Fehler aus, wenn0
.CSSNumericValue.min
- Gibt den minimalen übergebenen Wert zurückCSSNumericValue.max
- Gibt den maximalen übergebenen Wert zurückCSSNumericValue.equals
- Gibt true zurück, wenn alle Werte vom exakt gleichen Typ und Wert, in der gleichen Reihenfolge sind. Andernfalls falseCSSNumericValue.to
- Konvertiertvalue
in einen anderen mit der angegebenen Einheit.CSSNumericValue.toSum
CSSNumericValue.type
CSSNumericValue.parse
- Gibt eine Zahl zurück, die aus einem CSS-String geparst wurde
CSSPositionValue
-
Repräsentiert Werte für Eigenschaften, die eine Position erfordern, zum Beispiel object-position.
CSSTransformValue
-
Eine Schnittstelle, die eine Liste von
transform
-Listenelementwerten repräsentiert. Sie "beinhaltet" ein oder mehrereCSSTransformComponent
s, die einzelnetransform
-Funktionswerte darstellen. CSSUnitValue
-
Eine Schnittstelle, die numerische Werte repräsentiert, die als eine einzige Einheit oder als benannte Zahl und Prozentzahl dargestellt werden können.
CSSUnparsedValue
-
Repräsentiert Eigenschaftswerte, die auf benutzerdefinierte Eigenschaften verweisen. Sie besteht aus einer Liste von String-Fragmenten und Variablenverweisen.
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 |