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

View in English Always switch to English

CSSMathSum

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 CSSMathSum-Interface der CSS Typed Object Model API repräsentiert das Ergebnis, das durch den Aufruf von add(), sub() oder toSum() auf CSSNumericValue erhalten wird.

Ein CSSMathSum ist der Objekttyp, der zurückgegeben wird, wenn die Methode StylePropertyMapReadOnly.get() auf eine CSS-Eigenschaft angewendet wird, deren Wert mit einer calc()-Funktion erstellt wurde.

CSSStyleValue CSSNumericValue CSSMathValue CSSMathSum

Konstruktor

CSSMathSum()

Erstellt ein neues CSSMathSum-Objekt.

Instanz-Eigenschaften

Erbt auch Eigenschaften von seinem übergeordneten Interface, CSSMathValue.

CSSMathSum.values

Gibt ein CSSNumericArray-Objekt zurück, das ein oder mehrere CSSNumericValue-Objekte enthält.

Statische Methoden

Erbt auch Methoden von seinem übergeordneten Interface, CSSMathValue.

Instanz-Methoden

Erbt auch Methoden von seinem übergeordneten Interface, CSSMathValue.

Beispiele

Wir erstellen ein Element mit einer width, die unter Verwendung einer calc()-Funktion bestimmt wird, dann nutzen wir console.log() für den operator und die values, und untersuchen die Werte etwas näher.

html
<div>has width</div>

Wir weisen eine width zu

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

Wir fügen das JavaScript hinzu

js
const styleMap = document.querySelector("div").computedStyleMap();

console.log(styleMap.get("width")); // CSSMathSum {values: CSSNumericArray, operator: "sum"}
console.log(styleMap.get("width").operator); // 'sum'
console.log(styleMap.get("width").values); // CSSNumericArray {0: CSSUnitValue, 1: CSSUnitValue, length: 2}
console.log(styleMap.get("width").values[0]); // CSSUnitValue {value: 30, unit: "percent"}
console.log(styleMap.get("width").values[0].value); // 30
console.log(styleMap.get("width").values[0].unit); // 'percent'
console.log(styleMap.get("width").values[1]); // CSSUnitValue {value: -20, unit: "px"}
console.log(styleMap.get("width").values[1].value); //  -20
console.log(styleMap.get("width").values[1].unit); // 'px'

Die Spezifikation entwickelt sich noch. In der Zukunft könnten wir die letzten drei Zeilen folgendermaßen schreiben:

js
console.log(styleMap.get("width").values[1]); // CSSMathNegate {value: CSSUnitValue, operator: "negate"}
console.log(styleMap.get("width").values[1].value); // CSSUnitValue {value: 20, unit: "px"}
console.log(styleMap.get("width").values[1].value.unit); // 'px'

Spezifikationen

Spezifikation
CSS Typed OM Level 1
# cssmathsum

Browser-Kompatibilität