CSSMathValue: operator property

Limited availability

This feature is not Baseline because it does not work in some of the most widely-used browsers.

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

Note: This feature is available in Web Workers.

The operator read-only property of the CSSMathValue interface returns the operator that the current subtype represents. For example, if the current CSSMathValue subtype is CSSMathSum, this property will return the string "sum".

Value

A String.

Interface Value
CSSMathSum "sum"
CSSMathProduct "product"
CSSMathMin "min"
CSSMathMax "max"
CSSMathClamp "clamp"
CSSMathNegate "negate"
CSSMathInvert "invert"

Examples

Basic usage

This example shows how the operator property identifies the operation represented by a calc() value's CSSMathValue subtype, including for a nested value.

HTML

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

CSS

width is set using a calc() subtraction, which is represented as a CSSMathSum whose second term is negated.

css
#demoBox {
  width: calc(50% - 0.5vw);
}

JavaScript

We read the width value using computedStyleMap(), then log its operator and the operator of its nested value.

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

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

Result

width is represented by a CSSMathSum object whose operator is "sum", because calc(50% - 0.5vw) is represented as an addition of 50% and the negation of 0.5vw. The second nested value's operator is "negate", reflecting that negation.

Specifications

Specification
CSS Typed OM Level 1
# dom-cssmathvalue-operator

Browser compatibility