Most chapters of this documentation is outdated temporarily now, the arch of elvisjs has just changed these days. The new documentation is coming, welcome to join and work with us together!

Unit

Follows CSS Values 3 drafted in csswg.org.


#![allow(unused)]
fn main() {
pub enum Unit {
  Ch(f64),
  Cm(f64),
  Dpi(f64),
  Dpcm(f64),
  Dppx(f64),
  Em(f64),
  Fr(f64),
  In(f64)
  Mm(f64),
  Pc(f64),
  Pt(f64),
  Px(f64),
  Q(f64),
  Rem(f64),
  Vh(f64),
  Vmax(f64),
  Vmin(f64),
  Vw(f64),
}
}

If we don't use Unit.X() in number field, Elvis will choose Unit.Px by default.

Absolute Lengths

unitnameequivalence
cmcentermeters1cm = 96px/2.54
mmmillimeters1mm == 1/10th of 1cm
Qquarter-millimeters1Q = 1/40th of 1cm
ininches1in = 2.54cm = 96px
pcpicas1pc = 1/6th of 1in
ptpoints1pt = 1/72th of 1in
pxpixels1px = 1/96th of 1in

Relative Lengths

unitrelative to
emfont size of element
exx-height of element's font
chwidth of the "0" (ZERO, U+0030) glyph in the element’s font
remfont size of the root element
vw1% of viewport’s width
vh1% of viewport’s height
vmin1% of viewport’s smaller dimension
vmax1% of viewport’s larger dimension

Others

unitrepresents
dpiDots per inch
dpcmDots per centmeter
dppxDots per px unit
frThis unit represents one fraction of the available space in the grid container.