Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten. Erfahre mehr über dieses Experiment.

View in English Always switch to English

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, CSSNumericValue aus einem CSS-String zu konstruieren. Sie setzt eine spezifische CSS-Eigenschaft auf die angegebenen Werte und gibt den ersten Wert als CSSStyleValue-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 StylePropertyMap hinzufügt.

StylePropertyMap.delete()

Methode, die die CSS-Deklaration mit der angegebenen Eigenschaft aus dem StylePropertyMap entfernt.

StylePropertyMap.clear()

Methode, die alle Deklarationen im StylePropertyMap entfernt.

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 einem for...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 CSSUnparsedValue aus.

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 CSSKeywordValue Schnittstelle, die den Wert der CSSKeywordValue zurü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-image oder border-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.value zurück.

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 annehmen, zum Beispiel object-position.

CSSTransformValue

Eine Schnittstelle, die eine Liste von transform Listeneinträgen repräsentiert. Sie "enthalten" einen oder mehrere CSSTransformComponents, die einzelne transform Funktionswerte 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

api.StylePropertyMap

api.CSSUnparsedValue

api.CSSKeywordValue

Siehe auch