Skip to content
Search

CSS:Units

lastmod 2023-07-17created 2022-08-122 edits

CSS has several different units for expressing a length.

Many CSS properties take "length" values, such as width, margin, padding, font-size, etc.

Absolute Lengths

The absolute length units are fixed and a length expressed in any of these will appear as exactly that size.

Absolute length units are not recommended for use on screen, because screen sizes vary so much. However, they can be used if the output medium is known, such as for print layout.

Unit

Description

cm

centimeters

mm

millimeters

in

inches (1in = 96px = 2.54cm)

px[^0]

pixels (1px = 1/96th of 1in)

pt

points (1pt = 1/72 of 1in)

pc

picas (1pc = 12 pt)

Relative Lengths

Relative length units specify a length relative to another length property. Relative length units scale better between different rendering medium.

Unit

Description

em

Relative to the font-size of the element (2em means 2 times the size of the current font)

ex

Relative to the x-height of the current font (rarely used)

ch

Relative to the width of the "0" (zero)

rem

Relative to font-size of the root element

vw

Relative to 1% of the width of the viewport[^1]

vh

Relative to 1% of the height of the viewport[^2]

vmin

Relative to 1% of viewport's[^3] smaller dimension

vmax

Relative to 1% of viewport's[^4] larger dimension

%

Relative to the parent element

Tip

The em and rem units are practical in creating perfectly scalable layout!

New CSS Viewport Units: svh, lvh, dvh

  • New Viewport Units - Ahmad Shadeed
  • Sizing based on viewport width/height is convenient, but vh is buggy on mobile
    • Because the viewport size does not include the browser's address bar UI
  • 100vh should equal the full viewport height on mobile, but problems occur in Safari/Chrome (Android), which hide the UI on scroll
  • So the CSS Working Group introduced new units: svh, lvh, dvh
    • 'svh' Small Viewport: viewport height with the address bar UI not collapsed
    • 'lvh' Large Viewport: viewport height with the address bar UI collapsed
    • 'dvh' Dynamic Viewport: changes dynamically between svh / lvh
  • With 100dvh, a button at the very bottom can be kept always visible
    • But be careful, as there may be performance issues

See also

Favorite site

author Zer0 sitemap