<integer>

Summary

The <integer> CSS data type denotes an integer number, positive or negative. There isn't any associated unit with the value. An integer consists of one or several decimal digits, 0 to 9, optionally preceded by one single + or - sign.

Integers are used in numerous CSS properties, e. g. z-index, counter-increment, column-count.

Also any <integer> CSS value is also a <number> CSS value, though the converse is not true.

There is no official range of valid <integer> values. Opera supports values up to 215-1, IE up to 220-1 and other browsers even higher. During the CSS3 Values cycle there were a lot of discussion about setting a minimal limit to support: the latest decision, in April 2012 during the LC phase, was [-227-1; 227-1] # but other values like 224-1 and 230-1 were also proposed # #. The latest Editor's draft doesn't list a limit anymore.

Interpolation

Values of the <integer> CSS data type can be interpolated in order to allow animations. In that case they are interpolated via integer discrete steps. The calculation is done as if they were real, floating-point numbers and the discrete value is obtained using the floor function. The speed of the interpolation is determined by the timing function associated with the animation.

Examples

These are valid integer values:

12          Positive integer (without a leading + sign)
+123        Positive integer (with a leading + sign)
-456        Negative integer
0           Zero
+0          Zero, with a leading +
-0          Zero, with a leading - (Though strange, this is an allowed value)

These are invalid integer values:

12.0        This is a <number>, not an <integer>, though it represents an integer
12.         The dot should not be part of an <integer>
+---12      Only one leading +/- is allowed
ten         Letters are not allowed
_5          Special characters are not allowed
\35         Escaped Unicode characters are not allowed, even if they are an integer (here: 5)
\4E94       Non-arabic numerals are not allowed, even escaped (here: the Japanese 5, 五)
3e4         Scientific notation is not valid on <integer>

Specifications

Specification Status Comment
CSS Values and Units Module Level 3
The definition of '<integer>' in that specification.
Candidate Recommendation No significant change from CSS Level 2 (Revision 1)
CSS Level 2 (Revision 1)
The definition of '<integer>' in that specification.
Recommendation Explicitly defined
CSS Level 1
The definition of '<integer>' in that specification.
Recommendation Implicitly defined

Browser compatibility

Feature Chrome Firefox (Gecko) Internet Explorer Opera Safari (WebKit)
basic 1.0 1.0 (1.0) 3.0 yes 1.0 (85)
Feature Android Firefox Mobile (Gecko) IE Phone Opera Mobile Safari Mobile
Basic support yes yes yes yes yes

Document Tags and Contributors

 Last updated by: fscholz,