CSS: Length Units
Pixel Unit
px- Pixel. Practically, 1/16 of default font size of a device.
Relative Units
vw- 1% of the view port width.
vh- 1% of the view port height.
vmin-
Smaller of
vworvh vmax-
Larger of
vworvh %- Percent. Relative to parent element. Exact meaning depends on the element it is used. γsee CSS: Percentage Valueγ
Font Based Units
rem- Font size of HTML: the Root Element. Equivalent to 16px.
em- Font size of parent element.
ch- Width of digit 0 of current font.
ex- Height of lowercase letter x of current font.
Physical Units
cm- Centimeter.
mm- Millimeter.
in- Inch.
pt- 1/72 of a inch.
pc- 1/6 of a inch.
Which unit to use
π‘ TIP:
I recommend use only the px unit, and the following:
emorchβ for local font sensitive size, e.g. margin, padding, box round corner.
vw,vh,vmin,vmaxβ for layout control.
Do not use
- percent
%, because the meaning depends on the HTML element.
Example: CSS Length Unit
div {margin:1rem}
π WARNING: There must be no space before the CSS unit, and a unit is required, except when the value is 0, else it's syntax error.
rem, Root Font Size
The length of rem is:
The
computed value
of font-size of the
Root Element
.
When used as value on font-size property of the
Root Element,
rem refer to the property's initial value. (in browsers, it's 16px).
π‘ TIP: think of rem as the default font size, and it's basically always 16px.
em
The length of em is:
emis equal to the computed value of thefont-sizeproperty of the element on which it is used. For example, if you saymax-width:50emon a paragraph, it means, 50 times the computed value offont-sizeproperty of the paragraph.- If
emoccurs in the value of thefont-sizeproperty itself, it refers to the computed value offont-sizeof the parent element. - If used on the Root Element,
1emequals to thefont-sizeproperty's initial value (which is16px).
ex, x-height
ex is equal to current font's βx-heightβ, usually the height of the letter x. Typically about half of em, depending on current font.
Like em, the length of 1ex depends on parent's font-size.
γsee CSS: Meaning of Font Sizeγ
ch
ch is equal to the box width of the digit 0 (ZERO) character of the current font. It is about the same as half of em.
vw, vh, vmin, vmax
vw-
Equal to 1% of the initial containing block (the view port).
It does NOT include the scrollbar width.
When browser window changes size,
vwalso changes.π‘ TIP: One great use of
vwis to specify height as a percentage of width. You can't do this with percentage. γsee CSS: Fixed Aspect Ratioγ In fact, it's useful to replace almost all CSS: Percentage Value byvw, because the meaning of percentage is different for each CSS property. vh- Equal to 1% of the height of the initial containing block.
vmin- Equal to the smaller of vw or vh.
vmax- Equal to the larger of vw or vh.
cm, mm, in, pc, pt
cm-
centimeter. 10 mm β ~0.3937 inch; ~37.795 px
Physical units such as
cmis useful for specifying printed style. For example:@media print { table {font-size: 4cm} } γsee CSS: Media Queryγ
mm- millimeter. 0.1 cm β ~3.78 px
in- Inch. 6 pc. 72 pt. 96 px. β 2.54 cm
pc- 1/6 inch. 12 pt. 16 px. βpcβ stands for βpicaβ. β ~0.423 cm
pt- 1/72 inch. (~0.0138 inch) ~1.33 px. βptβ stands for βpointβ. β 0.3527 mm
What is CSS's Default Unit?
- There is no default unit. Omitting unit is syntax error.
- You can omit unit only when the value is 0.