Unit

Follows CSS Values 3 drafted in csswg.org.


#![allow(unused_variables)]
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.