CSSNumericValue: type() method

Limited availability

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

The type() method of the CSSNumericValue interface returns the type of CSSNumericValue, one of angle, flex, frequency, length, resolution, percent, percentHint, or time.

Syntax

js
type()

Parameters

None.

Return value

A CSSNumericType dictionary, which contains the following properties:

  • length
  • angle
  • time
  • frequency
  • resolution
  • flex
  • percent
  • percentHint

For each property except percentHint, the value is an integer representing the power of that unit. For example, a numeric value of calc(1px * 1em) will return { length: 2 }.

The percentHint property is a string that indicates the type of value that the percent is applied to. The string value is the same as the type properties: "length", "angle", "time", "frequency", "resolution", "flex", or "percent". It indicates that the type actually holds a percentage, but that percentage will eventually resolve to the hinted base type, and so has been replaced with it in the type.

Exceptions

None.

Examples

js
let mathSum = CSS.px("23")
  .sub(CSS.percent("4"))
  .sub(CSS.cm("3"))
  .sub(CSS.in("9"));
// Returns an object with the structure: {length: 1, percentHint: "length"}
let cssNumericType = mathSum.type();

Specifications

Specification
CSS Typed OM Level 1
# dom-cssnumericvalue-type

Browser compatibility