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 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 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 einer for...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 des CSSKeywordValue 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 oder border-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:

CSSNumericValue

Eine Schnittstelle, die Operationen repräsentiert, die alle numerischen Werte durchführen können, einschließlich:

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

Browser-Kompatibilität

api.CSSStyleValue

api.StylePropertyMap

api.CSSUnparsedValue

api.CSSKeywordValue

Siehe auch