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 als CSSStyleValue-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 einer for...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 von CSSKeywordValue 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 oder border-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:

CSSNumericValue

Eine Schnittstelle, die Operationen darstellt, die alle numerischen Werte ausführen können, einschließlich:

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 mehrere CSSTransformComponent, die einzelne transform 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

Siehe auch