CSS Values & Units

CSS values determine how properties are applied to elements. Values can be keywords, numbers, percentages, dimensions, functions, colors, URLs, and other CSS data types.

Many numeric CSS values use units that describe lengths, angles, time, frequency, resolution, or other quantities. Some units are absolute, while others are relative to fonts, the viewport, a query container, or another reference value.

CSS Values

A CSS declaration assigns a value to a property. The value determines how that property affects the selected element.

p {
  font-size: 1.25rem;
  line-height: 1.6;
  color: #333;
}

In this example, 1.25rem, 1.6, and #333 are CSS values. Different properties accept different types of values.

For definitions of value types such as <length>, <percentage>, and <color>, see the CSS Data Type List.

CSS-wide Keywords

CSS-wide keywords can be used with CSS properties to control inheritance, initial values, and the effects of the cascade.

Keyword Description
inherit Uses the computed value of the property from the element's parent.
initial Uses the property's initial value.
revert Rolls the property back to the value established by an earlier cascade origin.
revert-layer Rolls the property back to the value established in an earlier cascade layer.
unset Behaves like inherit for inherited properties and initial for non-inherited properties.

Numbers & Percentages

CSS uses numbers in many forms. An <integer> is a whole number, while a <number> can contain a fractional component. Percentages use the % symbol and are calculated relative to a value defined by the property.

.example {
  opacity: 0.8;
  z-index: 10;
  width: 75%;
}

Numbers do not always require a unit. Whether a unit is allowed or required depends on the property and the type of value it accepts.

Length Units

CSS length values represent distances. A length consists of a number followed immediately by a length unit, such as 20px, 2rem, or 50vw.

Length units are generally divided into absolute and relative units. Absolute units have fixed relationships to one another, while relative units are calculated from another measurement such as a font size, viewport dimension, or query container.

Absolute Length Units

Absolute length units have fixed relationships to one another. CSS defines 1in as 96px, with the other absolute units defined relative to those measurements.

Unit Name Relationship
cm Centimeters 1cm = 96px / 2.54
mm Millimeters 1mm = 1cm / 10
Q Quarter-millimeters 1Q = 1cm / 40
in Inches 1in = 96px
pc Picas 1pc = 1in / 6
pt Points 1pt = 1in / 72
px Pixels 1px = 1in / 96

A CSS pixel is a reference unit and does not necessarily correspond to one physical device pixel.

Font-relative Length Units

Font-relative units calculate lengths from font metrics. They are useful for typography and layouts that should scale with text.

Unit Relative To
em The element's font size, with special behavior when used by font-size.
ex The x-height of the element's font.
cap The cap height of the element's font.
ch The advance measure of the 0 glyph in the element's font.
ic The advance measure of the full-width ideographic glyph used for this unit.
lh The element's line height.
rem The root element's font size.
rex The x-height of the root element's font.
rcap The cap height of the root element's font.
rch The advance measure of the 0 glyph in the root element's font.
ric The advance measure of the full-width ideographic glyph for the root element.
rlh The root element's line height.

Viewport Units

Viewport units are relative to dimensions of the viewport. CSS provides default viewport units along with small, large, and dynamic viewport variants that account for changes in browser interface areas.

Group Units
Default viewport vw, vh, vi, vb, vmin, vmax
Small viewport svw, svh, svi, svb, svmin, svmax
Large viewport lvw, lvh, lvi, lvb, lvmin, lvmax
Dynamic viewport dvw, dvh, dvi, dvb, dvmin, dvmax

For example, 1vw represents 1% of the viewport width, while 1vh represents 1% of the viewport height.

Container Query Units

Container query length units are relative to the dimensions of a query container rather than the viewport. They are useful when a component should scale according to the space available in its container.

Unit Relative To
cqw 1% of the query container's width.
cqh 1% of the query container's height.
cqi 1% of the query container's inline size.
cqb 1% of the query container's block size.
cqmin The smaller of cqi and cqb.
cqmax The larger of cqi and cqb.

Angle Units

Angle units represent rotations and other angular values.

Unit Name Full Circle
deg Degrees 360deg
grad Gradians 400grad
rad Radians 2πrad
turn Turns 1turn

Time Units

Time values are commonly used for animations and transitions.

Unit Name Relationship
s Seconds 1s = 1000ms
ms Milliseconds 1000ms = 1s

Frequency Units

Frequency values represent the number of occurrences per unit of time.

Unit Name Relationship
Hz Hertz One cycle per second.
kHz Kilohertz 1kHz = 1000Hz

Resolution Units

Resolution units describe pixel density and are useful in contexts such as resolution media queries and image selection.

Unit Description
dpi Dots per CSS inch.
dpcm Dots per CSS centimeter.
dppx Dots per CSS pixel.
x An alias for dppx.

Flex Unit

The fr unit represents a fraction of the leftover space in a CSS Grid container. Unlike the general units defined by CSS Values and Units, fr is defined by CSS Grid Layout.

.grid {
  display: grid;
  grid-template-columns: 1fr 2fr 1fr;
}

In this example, the available space is divided into four fractions. The middle track receives two fractions while the first and third tracks each receive one.

CSS Unit Summary

Category Units
Absolute length cm, mm, Q, in, pc, pt, px
Font-relative length em, ex, cap, ch, ic, lh, rem, rex, rcap, rch, ric, rlh
Viewport length vw, vh, vi, vb, vmin, vmax and their sv*, lv*, and dv* variants
Container query length cqw, cqh, cqi, cqb, cqmin, cqmax
Angle deg, grad, rad, turn
Time s, ms
Frequency Hz, kHz
Resolution dpi, dpcm, dppx, x
Flex fr