Experimental: This is an experimental technology
Check the Browser compatibility table carefully before using this in production.
Note: This feature is available in Web Workers.
The CSSMathMin() constructor creates a new CSSMathMin object that represents the CSS min() function.
new CSSMathMin(arg1)
new CSSMathMin(arg1, arg2)
new CSSMathMin(arg1, arg2, /* …, */ argN)arg1, …, argNA list of numbers or CSSNumericValue objects.
SyntaxError DOMExceptionThrown if no arguments are passed.
TypeErrorThrown if arg1, …, argN have incompatible types (for example, mixing a <length> with an <angle>), so a common type cannot be determined for comparison.
The following code creates a CSSMathMin instance from three values, then reads back its operator and values properties.
const min = new CSSMathMin(CSS.px(10), CSS.em(5), CSS.percent(50));
console.log(min.constructor.name); // "CSSMathMin"
console.log(min.operator); // 'min'
console.log(min.values); // CSSNumericArray {0: CSSUnitValue, 1: CSSUnitValue, 2: CSSUnitValue, length: 3}
console.log(min.values[0]); // CSSUnitValue {value: 10, unit: "px"}The constructor throws a TypeError if the values don't resolve to a compatible type. In the following code we mix a length with a time, and log the error.
try {
// Mixes a length (px) with a time (s): incompatible types
new CSSMathMin(CSS.px(10), CSS.s(2));
} catch (e) {
console.log(e instanceof TypeError); // true
console.log(e.message);
}The constructor throws a SyntaxError if called with no arguments.
try {
new CSSMathMin();
} catch (e) {
console.log(e instanceof DOMException); // true
console.log(e.name); // "SyntaxError"
}