Relative length units
Relative lengths represent a measurement in terms of some other distance. Depending on the unit, this can be the size of a specific character, the line height, or the size of the viewport.
Font-relative lengths
Font-relative lengths define the <length>
value in terms of the size of a particular character or font attribute in the font currently in effect in an element or its parent.
Note: These units, especially em
and rem
, are often used to create scalable layouts, which maintain the vertical rhythm of the page even when the user changes the font size.
-
cap
Experimental
-
Represents the "cap height" (nominal height of capital letters) of the element's font
.
-
ch
-
Represents the width, or more precisely the advance measure, of the glyph "0" (zero, the Unicode character U+0030) in the element's font
.
In the cases where it is impossible or impractical to determine the measure of the "0" glyph, it must be assumed to be 0.5em wide by 1em tall.
-
em
-
Represents the calculated font-size
of the element. If used on the font-size
property itself, it represents the inherited font-size of the element.
-
ex
-
Represents the x-height of the element's font
. On fonts with the "x" letter, this is generally the height of lowercase letters in the font; 1ex ≈ 0.5em
in many fonts.
-
ic
Experimental
-
Equal to the used advance measure of the "水" glyph (CJK water ideograph, U+6C34), found in the font used to render it.
-
lh
Experimental
-
Equal to the computed value of the line-height
property of the element on which it is used, converted to an absolute length.
-
rem
-
Represents the font-size
of the root element (typically <html>
). When used within the root element font-size
, it represents its initial value (a common browser default is 16px
, but user-defined preferences may modify this).
-
rlh
Experimental
-
Equal to the computed value of the line-height
property on the root element (typically <html>
), converted to an absolute length. When used on the font-size
or line-height
properties of the root element, it refers to the properties' initial value.
Viewport-percentage lengths
Viewport-percentage lengths define the <length>
value relative to the size of the viewport, i.e., the visible portion of the document. Viewport lengths are invalid in @page
declaration blocks.
-
vh
-
Equal to 1% of the height of the viewport's initial containing block.
-
vw
-
Equal to 1% of the width of the viewport's initial containing block.
-
vi
Experimental
-
Equal to 1% of the size of the initial containing block, in the direction of the root element's inline axis.
-
vb
Experimental
-
Equal to 1% of the size of the initial containing block, in the direction of the root element's block axis.
-
vmin
-
Equal to the smaller of vw
and vh
.
-
vmax
-
Equal to the larger of vw
and vh
.
Absolute length units
Absolute length units represent a physical measurement when the physical properties of the output medium are known, such as for print layout. This is done by anchoring one of the units to a physical unit, and then defining the others relative to it. The anchor is done differently for low-resolution devices, such as screens, versus high-resolution devices, such as printers.
For low-dpi devices, the unit px
represents the physical reference pixel; other units are defined relative to it. Thus, 1in
is defined as 96px
, which equals 72pt
. The consequence of this definition is that on such devices, dimensions described in inches (in
), centimeters (cm
), or millimeters (mm
) don't necessary match the size of the physical unit with the same name.
For high-dpi devices, inches (in
), centimeters (cm
), and millimeters (mm
) are the same as their physical counterparts. Therefore, the px
unit is defined relative to them (1/96 of 1 inch).
Note: Many users increase their user agent's default font size to make text more legible. Absolute lengths can cause accessibility problems, since they are fixed and do not scale according to user settings. For this reason, prefer relative lengths (such as em
or rem
) when setting font-size
.
-
px
-
One pixel. For screen displays, it traditionally represents one device pixel (dot). However, for printers and high-resolution screens, one CSS pixel implies multiple device pixels. 1px
= 1/96th of 1in
.
-
cm
-
One centimeter. 1cm
= 96px/2.54
.
-
mm
-
One millimeter. 1mm
= 1/10th of 1cm
.
-
Q
Experimental
-
One quarter of a millimeter. 1Q
= 1/40th of 1cm
.
-
in
-
One inch. 1in
= 2.54cm
= 96px
.
-
pc
-
One pica. 1pc
= 12pt
= 1/6th of 1in
.
-
pt
-
One point. 1pt
= 1/72nd of 1in
.