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 anstelle von Zeichenfolgen bereitstellt. Dies vereinfacht nicht nur die CSS-Manipulation, sondern verringert auch den negativen Einfluss auf die Leistung im Vergleich zu HTMLElement.style
.
Im Allgemeinen können CSS-Werte in JavaScript als Zeichenfolgen gelesen und geschrieben werden, was langsam und umständlich sein kann. Die CSS Typed Object Model API bietet Schnittstellen, um mit den zugrundeliegenden Werten zu interagieren, indem sie diese mit speziellen JS-Objekten darstellt, die leichter und zuverlässiger zu manipulieren und zu verstehen sind als das Parsen und Verketten von Zeichenfolgen. Dies ist für Entwickler einfacher (zum Beispiel werden numerische Werte mit tatsächlichen JS-Zahlen dargestellt und es sind einheitenbewusste mathematische Operationen für sie definiert). Es ist auch generell schneller, da Werte direkt manipuliert und dann kostengünstig in zugrundeliegende Werte zurückübersetzt werden können, ohne dass beide CSS-Zeichenfolgen 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 leichter verständlich und einfacher zu schreiben ist.
Schnittstellen
CSSStyleValue
Die CSSStyleValue
-Schnittstelle der CSS Typed Object Model API ist die Basisklasse für alle CSS-Werte, die über die Typed OM API zugänglich sind. Eine Instanz dieser Klasse kann überall verwendet werden, wo eine Zeichenfolge erwartet wird.
CSSStyleValue.parse()
-
Methode, die es ermöglicht,
CSSNumericValue
aus einem CSS-String zu konstruieren. 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 gelieferten Werte enthalten.
StylePropertyMap
Die StylePropertyMap
-Schnittstelle der CSS Typed Object Model API bietet eine Repräsentation eines CSS-Deklarationsblocks, die eine Alternative zu CSSStyleDeclaration
darstellt.
StylePropertyMap.set()
-
Methode, die die CSS-Deklaration mit der angegebenen Eigenschaft auf den angegebenen Wert ändert.
StylePropertyMap.append()
-
Methode, die eine neue CSS-Deklaration mit der angegebenen Eigenschaft und dem Wert zur
StylePropertyMap
hinzufügt. StylePropertyMap.delete()
-
Methode, die die CSS-Deklaration mit der angegebenen 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 stellt Eigenschaftswerte dar, die auf benutzerdefinierte Eigenschaften verweisen. Sie besteht aus einer Liste von String-Fragmenten 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 Eigenschafts-Paare
[key, value]
eines gegebenen Objekts in der gleichen Reihenfolge wie bei einerfor...in
-Schleife zurückgibt (der Unterschied ist, dass eine for-in-Schleife auch Eigenschaften in der Prototypkette 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 jeden Index im Array enthält.
CSSKeywordValue
Serialisierung
Die CSSKeywordValue
-Schnittstelle der CSS Typed Object Model API erstellt ein Objekt zur Darstellung von CSS-Schlüsselwörtern und anderen Bezeichnern.
CSSKeywordValue()
Konstruktor-
Konstruktor, der ein neues
CSSKeywordValue()
-Objekt erstellt, das CSS-Schlüsselwörter und andere Bezeichner repräsentiert. CSSKeywordValue.value()
-
Eigenschaft der
CSSKeywordValue
-Schnittstelle, die den Wert vonCSSKeywordValue
zurückgibt oder setzt.
CSSStyleValue-Schnittstellen
CSSStyleValue
ist die Basisklasse, durch die alle CSS-Werte ausgedrückt werden. Unterklassen umfassen:
CSSImageValue
-
Eine Schnittstelle, die Werte für Eigenschaften repräsentiert, die ein Bild erfordern, beispielsweise
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 es dort verwendet wird, wo eine Zeichenfolge erwartet wird, gibt es den Wert von
CSSKeyword.value
zurück. CSSMathValue
-
Ein Baum von Unterklassen, der numerische Werte repräsentiert, 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 Aufrufen vonadd()
,sub()
odertoSum()
aufCSSNumericValue
erhalten wird.CSSMathSum
- repräsentiert das Ergebnis, das durch Aufrufen vonadd()
,sub()
odertoSum()
aufCSSNumericValue
erhalten wird.
CSSNumericValue
-
Eine Schnittstelle, die Operationen darstellt, die alle numerischen Werte ausführen können, einschließlich:
CSSNumericValue.add
- Fügt derCSSNumericValue
die übergebenen Zahlen hinzu.CSSNumericValue.sub
- Subtrahiert die übergebenen Zahlen von derCSSNumericValue
.CSSNumericValue.mul
- Multipliziert die übergebenen Zahlen mit derCSSNumericValue
.CSSNumericValue.div
- Teilt dieCSSNumericValue
durch den angegebenen Wert und löst einen Fehler aus, wenn0
.CSSNumericValue.min
- Gibt den übergebenen Minimalwert zurückCSSNumericValue.max
- Gibt den übergebenen Maximalwert zurückCSSNumericValue.equals
- Gibt true zurück, wenn alle Werte den exakt gleichen Typ und Wert haben und 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, beispielsweise object-position.
CSSTransformValue
-
Eine Schnittstelle, die eine Liste von
transform
Listenwerten repräsentiert. Sie "enthalten" einen oder mehrereCSSTransformComponent
, die einzelnetransform
Funktionwerte darstellen. CSSUnitValue
-
Eine Schnittstelle, die numerische Werte darstellt, die als eine einzelne Einheit oder als benannte Zahl und Prozentzahl dargestellt werden können.
CSSUnparsedValue
-
Repräsentiert Eigenschaftswerte, die auf benutzerdefinierte Eigenschaften verweisen. 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
BCD tables only load in the browser
api.StylePropertyMap
BCD tables only load in the browser
api.CSSUnparsedValue
BCD tables only load in the browser
api.CSSKeywordValue
BCD tables only load in the browser