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

View in English Always switch to English

CSSMathValue

Eingeschränkt verfügbar

Diese Funktion ist nicht Baseline, da sie in einigen der am weitesten verbreiteten Browser nicht funktioniert.

Want more browser support for this feature? Tell us why.

Hinweis: Diese Funktion ist in Web Workers verfügbar.

Das CSSMathValue Interface des CSS Typed Object Model API ist das Basisinterface für Objekte, die komplexe numerische Werte darstellen, die von den CSS-Funktionen calc(), min(), max() und clamp() produziert werden.

Hinweis: CSSMathValue kann nicht direkt erstellt werden. Instanzen werden von der Plattform zurückgegeben (z.B. über StylePropertyMapReadOnly.get()) als eine ihrer unten aufgeführten Untertypen.

CSSStyleValue CSSNumericValue CSSMathValue

Instanz-Eigenschaften

CSSMathValue.operator Schreibgeschützt

Gibt den Operator zurück, den der aktuelle Untertyp darstellt.

Statische Methoden

Erbt auch Methoden von seinem Elterninterface, CSSNumericValue.

Instanz-Methoden

Erbt auch Methoden von seinem Elterninterface, CSSNumericValue.

Schnittstellen basierend auf CSSMathValue

Beispiele

calc() Darstellungen

Dieses Beispiel zeigt, wie die operator Eigenschaft die Operation identifiziert, die von einem calc() Wert des CSSMathValue Untertyps dargestellt wird, einschließlich eines verschachtelten Wertes.

HTML

html
<div id="demoBox">Text</div>

CSS

width wird mit einer calc() Subtraktion gesetzt, die als CSSMathSum dargestellt wird, dessen zweiter Term negiert ist.

css
#demoBox {
  width: calc(30% - 20px);
}

JavaScript

Wir lesen den width Wert mit computedStyleMap() und protokollieren dann seinen operator und den operator seines verschachtelten Wertes.

js
const styleMap = document.querySelector("#demoBox").computedStyleMap();
const width = styleMap.get("width");

log(`type: ${width.constructor.name}`);
log(`operator: ${width.operator}`);
log(`nested value type: ${width.values[1].constructor.name}`);
log(`nested value operator: ${width.values[1].operator}`);

Ergebnis

width wird durch ein CSSMathSum Objekt dargestellt, dessen operator "sum" ist, weil calc(30% - 20px) als Addition von 30% und der Negation von 20px dargestellt wird. Der zweite verschachtelte Werttyp ist CSSMathNegate und sein operator ist "negate" (was die Negation widerspiegelt).

Spezifikationen

Spezifikation
CSS Typed OM Level 1
# complex-numeric

Browser-Kompatibilität