Home

Awesome

Quantum CSS

npm version travis ci status

“Everything should be made as simple as possible, but no simpler.” – Albert Einstein <sup>1</sup>

Preface

Quantum CSS is an atomic CSS library written in SCSS.

You won’t need to write any CSS rules and media queries while using Quantum CSS. Creating highly responsive UIs becomes pleasure while extension pattern provides means of controlled customization. You can create molecules with avaialble atoms using @extend.

Here is a sample button component with rounded corners, hover and focus transition animations (which are disabled on small screens to provide better experience on touch devices):

<button class="btn btn-fb" type="button">
  <!-- Content -->
</button>
.btn {
  @extend .px15, .h40; // Size
  @extend .bds-s, .bdw1, .bdr5; // Border style solid, border width 1px and rounded corners
  @extend .trp-c, .trd200ms; // Color transitions

  &-fb  { @extend .bgc-fb, .c-w, .bdc-tt, .SM_bgc-dfb-hf } // Facebook
  &-tw  { @extend .bgc-tw, .c-w, .bdc-tt, .SM_bgc-dtw-hf } // Twitter
}

Benefits of using @extend approach:

Contents

  1. Naming Conventions
  1. Breakpoints

  2. Pseudo-classes and Pseudo-elements

  3. Grid System

  1. Atom Index
  1. License

Naming Conventions

In Quantum CSS every class name consists of four parts in given order:

  1. Optional breakpoint name: SM, MD etc.
  2. Property abbreviation: <a href="#border-color"><code><b>bd</b>tc</code></a>, <a href="#border-color"><code><b>ws</b></code></a> etc.
  3. Value abbreviation: w, 100p, 360d etc.
  4. Optional pseudo-class or pseudo-element modifier: hf, h etc.

You can configure separators between each parts of class name with following variables:

Value Aliases

Aliases for commonly used values:

These aliases are used instead of full units:

Color Values

Names for colors are used fo increase readability. By default, Tango palette is used for every color-related atom. You can specify your own palette overriding variables in _variables.scss.

GreyscaleValue
  1. White w | #fff
  2. Grey 15% g1 | #eeeeec
  3. Grey 30% g2 | #d3d7cf
  4. Grey 45% g3 | #babdb6
  5. Grey 60% g4 | #888a85
  6. Grey 75% g5 | #555753
  7. Grey 90% g6 | #2e3436
  8. Black b | #000
ColorLight lMediumDark d
  1. Yellow y | #fce94f | #edd400 | #c4a000
  2. Orange o | #fcaf3e | #f57900 | #ce5c00
  3. Chocolate c | #e9b96e | #c17d11 | #8f5902
  4. Green g | #8ae234 | #73d216 | #4e9a06
  5. Navy n | #729fcf | #3465a4 | #204a87
  6. Purple p | #ad7f8a | #75507b | #5c3566
  7. Red r | #ef2929 | #cc0000 | #a40000

CSS-literal colors:

Generated atom examples:

Unit-less Properties

Some CSS properties are defined as unit-less, e.g. no unit suffix will be outputted:

Breakpoints

One of the most powerful features of Quantum is breakpoint-based media queries.

<a name="pseudos"></a>Pseudo-classes and Pseudo-elements

You can configure set of pseudo-classes and pseudo-elements for which atoms are generated via $pseudos. To emit disjunction of pseudos use comma-separated list.

$pseudos: (hf: (hover, focus));

.c-w-hf:hover,
.c-w-hf:focus {
  color: white;
}

Space-separated list defines selector conjunction:

$pseudos: (eh: empty hover);

.c-w-eh:empty:hover {
  color: white;
}

Combine those different list types for precise class targeting:

$pseudos: (foo: (active hover, active focus));

.c-w-foo:active:hover,
.c-w-foo:active:focus {
  color: white;
}

Grid System

<a name="grid-containers"></a>Containers <code><b>g</b></code>

As well as in Bootstrap Containers are the most basic layout element and are required when using grid system. Use <code><b>g</b>-f</code> to create a fixed-width centered responsive layout of columns.

While containers can be nested, most layouts do not require a nested container.

<div class="g g-f">
  <!-- Fixed-width grid conteiner -->
</div>

Widths of fixed-width container are stored in $grid-widths.

<a name="grid-rows"></a>Rows <code><b>g</b>r</code>

Rows are horizontal groups of columns that ensure your columns are lined up properly.

<div class="g g-f">
  <div class="gr">
    <!-- Place columns here -->
  </div>
</div>

<a name="grid-columns"></a>Columns <code><b>g</b>c</code>

Content should be placed within columns, and only columns may be immediate children of rows.

Column classes indicate the number of columns you’d like to use out of the possible 12 per row. So if you want three equal-width columns, you’d use <code>SM_<b>g</b>c4</code>. You can change number of columns in grid altering $grid-col-count.

Column widths are set in percentages, so they’re always fluid and sized relative to their parent element.

Columns have horizontal padding to create the gutters between individual columns. Gutters can be configured per every breakpoint via $grid-gutters.

<div class="g g-f">
  <div class="gr">
    <div class="gc12 SM_gc6">
      <!-- Place content here -->
    </div>
  </div>
</div>

Column Ordering

In addition to column clearing at responsive breakpoints, you may need to reset offsets, pushes, or pulls.

Move columns to the right using <code>[<a href="#breakpoints">breakpoint</a>_]<b>g</b>o(0…12/1)</code> classes. These classes increase the left margin of a column by specified number of columns. For example, MD_go4 moved MD_gc4 over four columns.

Change the order of columns by relatively shifting them to the left with <code>[<a href="#breakpoints">breakpoint</a>_]<b>g</b>sl(0…12/1)</code> or to the right with <code>[<a href="#breakpoints">breakpoint</a>_]<b>g</b>sr(0…12/1)</code> classes.

<div class="g g-f">
  <div class="gr">
    <div class="gc12 SM_gc6 SM_go3">
      <!-- Place content here -->
    </div>
  </div>
</div>

Atom Index

Values for each atom are listed in the order they are listed in generated CSS.

Name Pattern

Example [breakpoint_]fw(100…900/100) expands to fw100, fw200SM_fw100, SM_fw200LG_fw900.

Background

background-color

<code>[<a href="#breakpoints">breakpoint</a>_]<b>bg</b>c{key}[-<a href="#pseudos">pseudo</a>]</code>background-color: {value}

Specify mapping in <code><a href="scss/_variables.scss">$background-colors</a>: (key: value)</code>.

background-attachment

  1. <code><b>bg</b>a-f</code>fixed
  2. <code><b>bg</b>a-s</code>scroll

background-clip

  1. <code><b>bg</b>cp-bb</code>border-box
  2. <code><b>bg</b>cp-pb</code>padding-box
  3. <code><b>bg</b>cp-cb</code>content-box
  4. <code><b>bg</b>cp-i</code>inherit

background-image

  1. <code><b>bg</b>i-n</code>none
  2. <code><b>bg</b>i-i</code>inherit

background-origin

  1. <code><b>bg</b>o-bb</code>border-box
  2. <code><b>bg</b>o-pb</code>padding-box
  3. <code><b>bg</b>o-cb</code>content-box

background-repeat

  1. <code><b>bg</b>r-n</code>no-repeat
  2. <code><b>bg</b>r-x</code>repeat-x
  3. <code><b>bg</b>r-y</code>repeat-y
  4. <code><b>bg</b>r-s</code>space
  5. <code><b>bg</b>r-r</code>round

background-size

  1. <code><b>bg</b>z-a</code>auto
  2. <code><b>bg</b>z-ct</code>contain
  3. <code><b>bg</b>z-cv</code>cover

background-position

  1. <code><b>bg</b>p-tc</code>top center
  2. <code><b>bg</b>p-tl</code>top left
  3. <code><b>bg</b>p-cr</code>center right
  4. <code><b>bg</b>p-cc</code>center center
  5. <code><b>bg</b>p-cl</code>center left
  6. <code><b>bg</b>p-br</code>bottom right
  7. <code><b>bg</b>p-bc</code>bottom center
  8. <code><b>bg</b>p-bl</code>bottom left

background-position-x

  1. <code><b>bg</b>px-r</code>right
  2. <code><b>bg</b>px-c</code>center
  3. <code><b>bg</b>px-l</code>left

background-position-y

  1. <code><b>bg</b>py-t</code>top
  2. <code><b>bg</b>py-c</code>center
  3. <code><b>bg</b>py-b</code>bottom

fill

<code>[<a href="#breakpoints">breakpoint</a>_]<b>fi</b>{key}[-<a href="#pseudos">pseudo</a>]</code>fill: {value}

Specify mapping in <code><a href="scss/_variables.scss">$background-colors</a>: (key: value)</code>.

Border

border-color

  1. <code>[<a href="#breakpoints">breakpoint</a>_]<b>bd</b>c{key}[-<a href="#pseudos">pseudo</a>]</code>border-color: {value}
  2. <code>[<a href="#breakpoints">breakpoint</a>_]<b>bd</b>xc{key}[-<a href="#pseudos">pseudo</a>]</code> = <code><b>bd</b>lc{key}</code>, <code><b>bd</b>rc{key}</code>
  3. <code>[<a href="#breakpoints">breakpoint</a>_]<b>bd</b>yc{key}[-<a href="#pseudos">pseudo</a>]</code> = <code><b>bd</b>tc{key}</code>, <code><b>bd</b>bc{key}</code>
  4. <code>[<a href="#breakpoints">breakpoint</a>_]<b>bd</b>tc{key}[-<a href="#pseudos">pseudo</a>]</code>border-top-color: {value}
  5. <code>[<a href="#breakpoints">breakpoint</a>_]<b>bd</b>bc{key}[-<a href="#pseudos">pseudo</a>]</code>border-bottom-color: {value}
  6. <code>[<a href="#breakpoints">breakpoint</a>_]<b>bd</b>rc{key}[-<a href="#pseudos">pseudo</a>]</code>border-right-color: {value}
  7. <code>[<a href="#breakpoints">breakpoint</a>_]<b>bd</b>lc{key}[-<a href="#pseudos">pseudo</a>]</code>border-left-color: {value}

Specify mapping in <code><a href="scss/_variables.scss">$border-colors</a>: (key: value)</code>.

border-width

  1. <code>[<a href="#breakpoints">breakpoint</a>_]<b>bd</b>w{key}</code>border-width: {value}
  2. <code>[<a href="#breakpoints">breakpoint</a>_]<b>bd</b>xw{key}</code> = <code><b>bd</b>lw{key}</code>, <code><b>bd</b>rw{key}</code>
  3. <code>[<a href="#breakpoints">breakpoint</a>_]<b>bd</b>yw{key}</code> = <code><b>bd</b>tw{key}</code>, <code><b>bd</b>bw{key}</code>
  4. <code>[<a href="#breakpoints">breakpoint</a>_]<b>bd</b>tw{key}</code>border-top-width: {value}
  5. <code>[<a href="#breakpoints">breakpoint</a>_]<b>bd</b>bw{key}</code>border-bottom-width: {value}
  6. <code>[<a href="#breakpoints">breakpoint</a>_]<b>bd</b>rw{key}</code>border-right-width: {value}
  7. <code>[<a href="#breakpoints">breakpoint</a>_]<b>bd</b>lw{key}</code>border-left-width: {value}

Specify mapping in <code><a href="scss/_variables.scss">$border-widths</a>: (key: value)</code>.

border-style

  1. <code>[<a href="#breakpoints">breakpoint</a>_]<b>bd</b>s{key}</code>border-style: {value}
  2. <code>[<a href="#breakpoints">breakpoint</a>_]<b>bd</b>xs{key}</code> = <code><b>bd</b>ls{key}</code>, <code><b>bd</b>rs{key}</code>
  3. <code>[<a href="#breakpoints">breakpoint</a>_]<b>bd</b>ys{key}</code> = <code><b>bd</b>ts{key}</code>, <code><b>bd</b>bs{key}</code>
  4. <code>[<a href="#breakpoints">breakpoint</a>_]<b>bd</b>ts{key}</code>border-top-style: {value}
  5. <code>[<a href="#breakpoints">breakpoint</a>_]<b>bd</b>bs{key}</code>border-bottom-style: {value}
  6. <code>[<a href="#breakpoints">breakpoint</a>_]<b>bd</b>rs{key}</code>border-right-style: {value}
  7. <code>[<a href="#breakpoints">breakpoint</a>_]<b>bd</b>ls{key}</code>border-left-style: {value}

Specify mapping in <code><a href="scss/_variables.scss">$border-styles</a>: (key: value)</code>.

By default, all available border styles are included. Border style atoms are emitted for every breakpoint what can cause significant increase of outputted CSS file. Be sure to remove unused border styles in order to reduce file size.

border-radius

  1. <code>[<a href="#breakpoints">breakpoint</a>_]<b>bd</b>r{key}</code>border-radius: {value}
  2. <code>[<a href="#breakpoints">breakpoint</a>_]<b>bd</b>tr{key}</code> = <code><b>bd</b>tlr{key}</code>, <code><b>bd</b>trr{key}</code>
  3. <code>[<a href="#breakpoints">breakpoint</a>_]<b>bd</b>rr{key}</code> = <code><b>bd</b>trr{key}</code>, <code><b>bd</b>brr{key}</code>
  4. <code>[<a href="#breakpoints">breakpoint</a>_]<b>bd</b>br{key}</code> = <code><b>bd</b>blr{key}</code>, <code><b>bd</b>brr{key}</code>
  5. <code>[<a href="#breakpoints">breakpoint</a>_]<b>bd</b>lr{key}</code> = <code><b>bd</b>tlr{key}</code>, <code><b>bd</b>blr{key}</code>
  6. <code>[<a href="#breakpoints">breakpoint</a>_]<b>bd</b>trr{key}</code>border-top-right-radius: {value}
  7. <code>[<a href="#breakpoints">breakpoint</a>_]<b>bd</b>tlr{key}</code>border-top-left-radius: {value}
  8. <code>[<a href="#breakpoints">breakpoint</a>_]<b>bd</b>brr{key}</code>border-bottom-right-radius: {value}
  9. <code>[<a href="#breakpoints">breakpoint</a>_]<b>bd</b>blr{key}</code>border-bottom-left-radius: {value}

Specify mapping in <code><a href="scss/_variables.scss">$border-radiuses</a>: (key: value)</code>.

Images

object-fit

  1. <code><b>of</b>-n</code>none
  2. <code><b>of</b>-f</code>fill
  3. <code><b>of</b>-ct</code>contain
  4. <code><b>of</b>-cv</code>cover
  5. <code><b>of</b>-sd</code>scale-down
  6. <code><b>of</b>-i</code>inherit

Transforms

transform

  1. <code><b>ts</b>-n</code>none
  2. <code><b>ts</b>-i</code>inherit
  3. <code><b>ts</b>r(45d…360/45d)</code>transform: rotate(45deg)rotate(360deg)
  4. <code><b>ts</b>r(-45d…-360/-45d)</code>transform: rotate(-45deg)rotate(-360deg)
  5. <code><b>ts</b>s(0…200/25)</code>transform: scale(0)scale(2)

Flexible Box Layout

These shortcuts are available if display atom is included.

  1. <code>[<a href="#breakpoints">breakpoint</a>_]<b>fx</b>-r</code> = <a href="#display"><code><b>d</b>-fx</code></a>, <code><b>fx</b>d-r</code>
  2. <code>[<a href="#breakpoints">breakpoint</a>_]<b>fx</b>-rr</code> = <a href="#display"><code><b>d</b>-fx</code></a>, <code><b>fx</b>d-rr</code>
  3. <code>[<a href="#breakpoints">breakpoint</a>_]<b>fx</b>-c</code> = <a href="#display"><code><b>d</b>-fx</code></a>, <code><b>fx</b>d-c</code>
  4. <code>[<a href="#breakpoints">breakpoint</a>_]<b>fx</b>-cr</code> = <a href="#display"><code><b>d</b>-fx</code></a>, <code><b>fx</b>d-cr</code>

flex-direction

  1. <code>[<a href="#breakpoints">breakpoint</a>_]<b>fx</b>d-r</code>row
  2. <code>[<a href="#breakpoints">breakpoint</a>_]<b>fx</b>d-rr</code>row-reverse
  3. <code>[<a href="#breakpoints">breakpoint</a>_]<b>fx</b>d-c</code>column
  4. <code>[<a href="#breakpoints">breakpoint</a>_]<b>fx</b>d-cr</code>column-reverse

flex-wrap

  1. <code>[<a href="#breakpoints">breakpoint</a>_]<b>fx</b>w-n</code>nowrap
  2. <code>[<a href="#breakpoints">breakpoint</a>_]<b>fx</b>w-w</code>wrap
  3. <code>[<a href="#breakpoints">breakpoint</a>_]<b>fx</b>w-wr</code>wrap-reverse

flex-grow

<code>[<a href="#breakpoints">breakpoint</a>_]<b>fx</b>g(0…10/1)</code>flex-grow: 010

flex-shrink

<code>[<a href="#breakpoints">breakpoint</a>_]<b>fx</b>s(0…10/1)</code>flex-shrink: 010

flex-basis

  1. <code>[<a href="#breakpoints">breakpoint</a>_]<b>fx</b>b-a</code>auto
  2. <code>[<a href="#breakpoints">breakpoint</a>_]<b>fx</b>b-mac</code>max-content
  3. <code>[<a href="#breakpoints">breakpoint</a>_]<b>fx</b>b-mic</code>min-content
  4. <code>[<a href="#breakpoints">breakpoint</a>_]<b>fx</b>b-fc</code>fit-content
  5. <code>[<a href="#breakpoints">breakpoint</a>_]<b>fx</b>b-c</code>content

justify-content

  1. <code>[<a href="#breakpoints">breakpoint</a>_]<b>jc</b>-fs</code>flex-start
  2. <code>[<a href="#breakpoints">breakpoint</a>_]<b>jc</b>-fe</code>flex-end
  3. <code>[<a href="#breakpoints">breakpoint</a>_]<b>jc</b>-c</code>center
  4. <code>[<a href="#breakpoints">breakpoint</a>_]<b>jc</b>-sb</code>space-between
  5. <code>[<a href="#breakpoints">breakpoint</a>_]<b>jc</b>-sa</code>space-around

align-items

  1. <code>[<a href="#breakpoints">breakpoint</a>_]<b>ai</b>-fs</code>flex-start
  2. <code>[<a href="#breakpoints">breakpoint</a>_]<b>ai</b>-fe</code>flex-end
  3. <code>[<a href="#breakpoints">breakpoint</a>_]<b>ai</b>-c</code>center
  4. <code>[<a href="#breakpoints">breakpoint</a>_]<b>ai</b>-bs</code>baseline
  5. <code>[<a href="#breakpoints">breakpoint</a>_]<b>ai</b>-s</code>stretch

align-content

  1. <code>[<a href="#breakpoints">breakpoint</a>_]<b>ac</b>-fs</code>flex-start
  2. <code>[<a href="#breakpoints">breakpoint</a>_]<b>ac</b>-fe</code>flex-end
  3. <code>[<a href="#breakpoints">breakpoint</a>_]<b>ac</b>-c</code>center
  4. <code>[<a href="#breakpoints">breakpoint</a>_]<b>ac</b>-sb</code>space-between
  5. <code>[<a href="#breakpoints">breakpoint</a>_]<b>ac</b>-sa</code>space-around
  6. <code>[<a href="#breakpoints">breakpoint</a>_]<b>ac</b>-s</code>stretch

align-self

  1. <code>[<a href="#breakpoints">breakpoint</a>_]<b>as</b>-a</code>auto
  2. <code>[<a href="#breakpoints">breakpoint</a>_]<b>as</b>-fs</code>flex-start
  3. <code>[<a href="#breakpoints">breakpoint</a>_]<b>as</b>-fe</code>flex-end
  4. <code>[<a href="#breakpoints">breakpoint</a>_]<b>as</b>-c</code>center
  5. <code>[<a href="#breakpoints">breakpoint</a>_]<b>as</b>-b</code>baseline
  6. <code>[<a href="#breakpoints">breakpoint</a>_]<b>as</b>-s</code>stretch

order

<code>[<a href="#breakpoints">breakpoint</a>_]<b>ord</b>(0…10/1)</code>order: 010

Positioning

float

  1. <code>[<a href="#breakpoints">breakpoint</a>_]<b>fl</b>-l</code>left
  2. <code>[<a href="#breakpoints">breakpoint</a>_]<b>fl</b>-r</code>right
  3. <code>[<a href="#breakpoints">breakpoint</a>_]<b>fl</b>-n</code>none

clear

  1. <code><b>cl</b>-l</code>left
  2. <code><b>cl</b>-r</code>right
  3. <code><b>cl</b>-b</code>both
  4. <code><b>cl</b>-n</code>none

position

  1. <code><b>pos</b>-s</code>static
  2. <code><b>pos</b>-a</code>absolute
  3. <code><b>pos</b>-r</code>relative
  4. <code><b>pos</b>-f</code>fixed

top right bottom left

  1. <code>[<a href="#breakpoints">breakpoint</a>_]<b>t</b>{key}</code>top: {value}
  2. <code>[<a href="#breakpoints">breakpoint</a>_]<b>r</b>{key}</code>right: {value}
  3. <code>[<a href="#breakpoints">breakpoint</a>_]<b>b</b>{key}</code>bottom: {value}
  4. <code>[<a href="#breakpoints">breakpoint</a>_]<b>l</b>{key}</code>left: {value}

Specify mapping in <code><a href="scss/_variables.scss">$positions</a>: (key: value)</code>.

z-index

  1. <code><b>z</b>(0…10/1)</code>z-index: 010
  2. <code><b>z</b>-a</code>auto
  3. <code><b>z</b>-i</code>inherit

Fonts

font-size

  1. <code>[<a href="#breakpoints">breakpoint</a>_]<b>f</b>z-xxs</code>xx-small
  2. <code>[<a href="#breakpoints">breakpoint</a>_]<b>f</b>z-xs</code>x-small
  3. <code>[<a href="#breakpoints">breakpoint</a>_]<b>f</b>z-s</code>small
  4. <code>[<a href="#breakpoints">breakpoint</a>_]<b>f</b>z-m</code>medium
  5. <code>[<a href="#breakpoints">breakpoint</a>_]<b>f</b>z-l</code>large
  6. <code>[<a href="#breakpoints">breakpoint</a>_]<b>f</b>z-xl</code>x-large
  7. <code>[<a href="#breakpoints">breakpoint</a>_]<b>f</b>z-xxl</code>xx-large
  8. <code>[<a href="#breakpoints">breakpoint</a>_]<b>f</b>z-lr</code>larger
  9. <code>[<a href="#breakpoints">breakpoint</a>_]<b>f</b>z-sr</code>smaller
  10. <code>[<a href="#breakpoints">breakpoint</a>_]<b>f</b>z-i</code>inherit
  11. <code>[<a href="#breakpoints">breakpoint</a>_]<b>f</b>z{key}</code>font-size: {value}

Specify mapping in <code><a href="scss/_variables.scss">$font-sizes</a>: (key: value)</code>.

line-height

  1. <code><b>lh</b>-n</code>normal
  2. <code><b>lh</b>-i</code>inherit
  3. <code><b>lh</b>0</code>0
  4. <code><b>lh</b>1</code>1
  5. <code><b>lh</b>{key}</code>line-height: {value}

Specify mapping in <code><a href="scss/_variables.scss">$line-heights</a>: (key: value)</code>.

font-family

  1. <code>[<a href="#breakpoints">breakpoint</a>_]<b>f</b>s-s</code>serif
  2. <code>[<a href="#breakpoints">breakpoint</a>_]<b>f</b>s-ss</code>sans-serif
  3. <code>[<a href="#breakpoints">breakpoint</a>_]<b>f</b>s-m</code>monospace
  4. <code>[<a href="#breakpoints">breakpoint</a>_]<b>f</b>s-c</code>cursive
  5. <code>[<a href="#breakpoints">breakpoint</a>_]<b>f</b>s-f</code>fantasy
  6. <code>[<a href="#breakpoints">breakpoint</a>_]<b>f</b>s-i</code>inherit
  7. <code>[<a href="#breakpoints">breakpoint</a>_]<b>f</b>s{key}</code>font-family: {value}

Specify mapping in <code><a href="scss/_variables.scss">$font-families</a>: (key: value)</code>.

font-weight

  1. <code>[<a href="#breakpoints">breakpoint</a>_]<b>f</b>w(100…900/100)</code>font-weight: 100900
  2. <code>[<a href="#breakpoints">breakpoint</a>_]<b>f</b>w-n</code>normal
  3. <code>[<a href="#breakpoints">breakpoint</a>_]<b>f</b>w-b</code>bold
  4. <code>[<a href="#breakpoints">breakpoint</a>_]<b>f</b>w-br</code>bolder
  5. <code>[<a href="#breakpoints">breakpoint</a>_]<b>f</b>w-lr</code>lighter
  6. <code>[<a href="#breakpoints">breakpoint</a>_]<b>f</b>w-i</code>inherit

font-style

  1. <code>[<a href="#breakpoints">breakpoint</a>_]<b>f</b>s-n</code>normal
  2. <code>[<a href="#breakpoints">breakpoint</a>_]<b>f</b>s-i</code>italic
  3. <code>[<a href="#breakpoints">breakpoint</a>_]<b>f</b>s-o</code>oblique

font-variant

  1. <code><b>f</b>v-cl</code>common-ligatures
  2. <code><b>f</b>v-apc</code>all-petite-caps
  3. <code><b>f</b>v-asc</code>all-small-caps
  4. <code><b>f</b>v-sc</code>small-caps
  5. <code><b>f</b>v-c</code>contextual
  6. <code><b>f</b>v-df</code>diagonal-fractions
  7. <code><b>f</b>v-sf</code>stacked-fractions
  8. <code><b>f</b>v-hf</code>historical-forms
  9. <code><b>f</b>v-hl</code>historical-ligatures
  10. <code><b>f</b>v-i</code>inherit
  11. <code><b>f</b>v-n</code>normal
  12. <code><b>f</b>v-tn</code>tabular-nums
  13. <code><b>f</b>v-pn</code>proportional-nums
  14. <code><b>f</b>v-pw</code>proportional-width

font-size-adjust

<code><b>f</b>za-n</code>none

font-stretch

  1. <code><b>f</b>st-n</code>normal
  2. <code><b>f</b>st-uc</code>ultra-condensed
  3. <code><b>f</b>st-ec</code>extra-condensed
  4. <code><b>f</b>st-c</code>condensed
  5. <code><b>f</b>st-sc</code>semi-condensed
  6. <code><b>f</b>st-se</code>semi-expanded
  7. <code><b>f</b>st-e</code>expanded
  8. <code><b>f</b>st-ee</code>extra-expanded
  9. <code><b>f</b>st-ue</code>ultra-expanded

-webkit-font-smoothing

  1. <code><b>wf</b>sm-a</code>antialiased
  2. <code><b>wf</b>sm-sa</code>subpixel-antialiased
  3. <code><b>wf</b>sm-n</code>none

-moz-osx-font-smoothing

  1. <code><b>mf</b>sm-a</code>auto
  2. <code><b>mf</b>sm-g</code>grayscale

Transitions

transition-property

  1. <code><b>tr</b>p-n</code>none
  2. <code><b>tr</b>p-a</code>all

transition-duration

<code><b>tr</b>d(100ms…1000ms/100ms)</code>transition-duration: 100ms1000ms

transition-timing-function

  1. <code><b>tr</b>tf-e</code>ease
  2. <code><b>tr</b>tf-ei</code>ease-in
  3. <code><b>tr</b>tf-eo</code>ease-out
  4. <code><b>tr</b>tf-eio</code>ease-in-out
  5. <code><b>tr</b>tf-l</code>linear
  6. <code><b>tr</b>tf-ss</code>step-start
  7. <code><b>tr</b>tf-se</code>step-end

Text

letter-spacing

  1. <code><b>ls</b>-n</code>normal
  2. <code><b>ls</b>-i</code>inherit
  3. <code><b>ls</b>{key}</code>letter-spacing: {value}

Specify mapping in <code><a href="scss/_variables.scss">$letter-spacings</a>: (key: value)</code>.

overflow-wrap

  1. <code><b>ov</b>w-n</code>normal
  2. <code><b>ov</b>w-b</code>break-word

text-align

  1. <code>[<a href="#breakpoints">breakpoint</a>_]<b>t</b>a-l</code>left
  2. <code>[<a href="#breakpoints">breakpoint</a>_]<b>t</b>a-c</code>center
  3. <code>[<a href="#breakpoints">breakpoint</a>_]<b>t</b>a-r</code>right
  4. <code>[<a href="#breakpoints">breakpoint</a>_]<b>t</b>a-j</code>justify

text-align-last

  1. <code>[<a href="#breakpoints">breakpoint</a>_]<b>t</b>al-l</code>left
  2. <code>[<a href="#breakpoints">breakpoint</a>_]<b>t</b>al-c</code>center
  3. <code>[<a href="#breakpoints">breakpoint</a>_]<b>t</b>al-r</code>right
  4. <code>[<a href="#breakpoints">breakpoint</a>_]<b>t</b>al-j</code>justify

text-indent

<code><b>t</b>i{key}</code>text-indent: {value}

Specify mapping in <code><a href="scss/_variables.scss">$text-indents</a>: (key: value)</code>.

text-decoration

  1. <code>[<a href="#breakpoints">breakpoint</a>_]<b>t</b>d-n[-<a href="#pseudos">pseudo</a>]</code>none
  2. <code>[<a href="#breakpoints">breakpoint</a>_]<b>t</b>d-u[-<a href="#pseudos">pseudo</a>]</code>underline
  3. <code>[<a href="#breakpoints">breakpoint</a>_]<b>t</b>d-o</code>overline
  4. <code>[<a href="#breakpoints">breakpoint</a>_]<b>t</b>d-lt</code>line-through

text-transform

  1. <code><b>t</b>t-c</code>capitalize
  2. <code><b>t</b>t-u</code>uppercase
  3. <code><b>t</b>t-l</code>lowercase
  4. <code><b>t</b>t-n</code>none
  5. <code><b>t</b>t-fw</code>full-width

white-space

  1. <code>[<a href="#breakpoints">breakpoint</a>_]<b>ws</b>-n </code>normal
  2. <code>[<a href="#breakpoints">breakpoint</a>_]<b>ws</b>-p </code>pre
  3. <code>[<a href="#breakpoints">breakpoint</a>_]<b>ws</b>-nw</code>nowrap
  4. <code>[<a href="#breakpoints">breakpoint</a>_]<b>ws</b>-pw</code>pre-wrap
  5. <code>[<a href="#breakpoints">breakpoint</a>_]<b>ws</b>-pl</code>pre-line

word-break

  1. <code><b>wo</b>b-n</code>normal
  2. <code><b>wo</b>b-ka</code>keep-all
  3. <code><b>wo</b>b-ba</code>break-all

word-wrap

  1. <code><b>wo</b>w-n</code>normal
  2. <code><b>wo</b>w-bw</code>break-word

Lists and Counters

list-style

  1. <code><b>li</b>s-n</code>none
  2. <code><b>li</b>s-i</code>inherit

list-style-position

  1. <code><b>li</b>sp-in</code>inside
  2. <code><b>li</b>sp-o</code>outside
  3. <code><b>li</b>sp-i</code>inherit

list-style-type

  1. <code><b>li</b>st-n</code>none
  2. <code><b>li</b>st-d</code>disc
  3. <code><b>li</b>st-c</code>circle
  4. <code><b>li</b>st-s</code>square
  5. <code><b>li</b>st-dc</code>decimal
  6. <code><b>li</b>st-dclz</code>decimal-leading-zero
  7. <code><b>li</b>st-lr</code>lower-roman
  8. <code><b>li</b>st-ur</code>upper-roman
  9. <code><b>li</b>st-i</code>inherit

Colors

color

<code>[<a href="#breakpoints">breakpoint</a>_]<b>c</b>{key}[-<a href="#pseudos">pseudo</a>]</code>color: {value}

Specify mapping in <code><a href="scss/_variables.scss">$colors</a>: (key: value)</code>.

opacity

<code><b>op</b>(0…100/1)</code>opacity: 01

Box Model

box-shadow

<code><b>bx</b>s{key}[-<a href="#pseudos">pseudo</a>]</code>box-shadow: {value}

Specify mapping in <code><a href="scss/_variables.scss">$box-shadows</a>: (key: value)</code>.

box-sizing

  1. <code><b>bx</b>z-cb</code>content-box
  2. <code><b>bx</b>z-bb</code>border-box
  3. <code><b>bx</b>z-i</code>inherit

height

  1. <code>[<a href="#breakpoints">breakpoint</a>_]<b>h</b>{key}</code>height: {value}
  2. <code>[<a href="#breakpoints">breakpoint</a>_]<b>mah</b>-n</code>max-height: none
  3. <code>[<a href="#breakpoints">breakpoint</a>_]<b>mah</b>{key}</code>max-height: {value}
  4. <code>[<a href="#breakpoints">breakpoint</a>_]<b>mih</b>{key}</code>min-height: {value}

Specify mapping in <code><a href="scss/_variables.scss">$heights</a>: (key: value)</code>.

width

  1. <code>[<a href="#breakpoints">breakpoint</a>_]<b>w</b>{key}</code>width: {value}
  2. <code>[<a href="#breakpoints">breakpoint</a>_]<b>maw</b>-n</code>max-width: none
  3. <code>[<a href="#breakpoints">breakpoint</a>_]<b>maw</b>{key}</code>max-width: {value}
  4. <code>[<a href="#breakpoints">breakpoint</a>_]<b>miw</b>{key}</code>min-width: {value}

Specify mapping in <code><a href="scss/_variables.scss">$widths</a>: (key: value)</code>.

margin

  1. <code>[<a href="#breakpoints">breakpoint</a>_]<b>m</b>{key}</code>margin: {value}
  2. <code>[<a href="#breakpoints">breakpoint</a>_]<b>m</b>x-a</code>margin-left: auto, margin-right: auto
  3. <code>[<a href="#breakpoints">breakpoint</a>_]<b>m</b>x{key}</code> = <code><b>m</b>l{key}</code>, <code><b>m</b>r{key}</code>
  4. <code>[<a href="#breakpoints">breakpoint</a>_]<b>m</b>y{key}</code> = <code><b>m</b>t{key}</code>, <code><b>m</b>b{key}</code>
  5. <code>[<a href="#breakpoints">breakpoint</a>_]<b>m</b>t{key}</code>margin-top: {value}
  6. <code>[<a href="#breakpoints">breakpoint</a>_]<b>m</b>r{key}</code>margin-right: {value}
  7. <code>[<a href="#breakpoints">breakpoint</a>_]<b>m</b>b{key}</code>margin-bottom: {value}
  8. <code>[<a href="#breakpoints">breakpoint</a>_]<b>m</b>l{key}</code>margin-left: {value}

Specify mapping in <code><a href="scss/_variables.scss">$margins</a>: (key: value)</code>.

padding

  1. <code>[<a href="#breakpoints">breakpoint</a>_]<b>p</b>{key}</code>padding: {value}
  2. <code>[<a href="#breakpoints">breakpoint</a>_]<b>p</b>x{key}</code> = <code><b>p</b>l{key}</code>, <code><b>p</b>r{key}</code>
  3. <code>[<a href="#breakpoints">breakpoint</a>_]<b>p</b>y{key}</code> = <code><b>p</b>t{key}</code>, <code><b>p</b>b{key}</code>
  4. <code>[<a href="#breakpoints">breakpoint</a>_]<b>p</b>t{key}</code>padding-top: {value}
  5. <code>[<a href="#breakpoints">breakpoint</a>_]<b>p</b>r{key}</code>padding-right: {value}
  6. <code>[<a href="#breakpoints">breakpoint</a>_]<b>p</b>b100p</code>padding-bottom: 100%
  7. <code>[<a href="#breakpoints">breakpoint</a>_]<b>p</b>b{key}</code>padding-bottom: {value}
  8. <code>[<a href="#breakpoints">breakpoint</a>_]<b>p</b>l{key}</code>padding-left: {value}

Specify mapping in <code><a href="scss/_variables.scss">$paddings</a>: (key: value)</code>.

overflow

  1. <code><b>ov</b>-v</code>visible
  2. <code><b>ov</b>-h</code>hidden
  3. <code><b>ov</b>-s</code>scroll
  4. <code><b>ov</b>-a</code>auto

overflow-x

  1. <code><b>ov</b>x-v</code>visible
  2. <code><b>ov</b>x-h</code>hidden
  3. <code><b>ov</b>x-s</code>scroll
  4. <code><b>ov</b>x-a</code>auto

overflow-y

  1. <code><b>ov</b>y-v</code>visible
  2. <code><b>ov</b>y-h</code>hidden
  3. <code><b>ov</b>y-s</code>scroll
  4. <code><b>ov</b>y-a</code>auto

-webkit-overflow-scrolling

  1. <code><b>wov</b>s-t</code>touch
  2. <code><b>wov</b>s-a</code>auto

visibility

  1. <code>[<a href="#breakpoints">breakpoint</a>_]<b>v</b>-v</code>visible
  2. <code>[<a href="#breakpoints">breakpoint</a>_]<b>v</b>-h</code>hidden
  3. <code>[<a href="#breakpoints">breakpoint</a>_]<b>v</b>-c</code>collapse

Page

page-break-before

  1. <code><b>pgb</b>b-a</code>auto
  2. <code><b>pgb</b>b-al</code>always
  3. <code><b>pgb</b>b-av</code>avoid
  4. <code><b>pgb</b>b-l</code>left
  5. <code><b>pgb</b>b-r</code>right

page-break-inside

  1. <code><b>pgb</b>i-a</code>auto
  2. <code><b>pgb</b>i-av</code>avoid

page-break-after

  1. <code><b>pgb</b>a-a</code>auto
  2. <code><b>pgb</b>a-al</code>always
  3. <code><b>pgb</b>a-av</code>avoid
  4. <code><b>pgb</b>a-l</code>left
  5. <code><b>pgb</b>a-r</code>right

User Interface

cursor

  1. <code><b>cur</b>-a</code>auto
  2. <code><b>cur</b>-d</code>default
  3. <code><b>cur</b>-cm</code>context-menu
  4. <code><b>cur</b>-h</code>help
  5. <code><b>cur</b>-p</code>pointer
  6. <code><b>cur</b>-ps</code>progress
  7. <code><b>cur</b>-w</code>wait
  8. <code><b>cur</b>-cl</code>cell
  9. <code><b>cur</b>-c</code>crosshair
  10. <code><b>cur</b>-t</code>text
  11. <code><b>cur</b>-al</code>alias
  12. <code><b>cur</b>-cp</code>copy
  13. <code><b>cur</b>-m</code>move
  14. <code><b>cur</b>-nd</code>no-drop
  15. <code><b>cur</b>-na</code>not-allowed
  16. <code><b>cur</b>-as</code>all-scroll
  17. <code><b>cur</b>-cr</code>col-resize
  18. <code><b>cur</b>-rr</code>row-resize
  19. <code><b>cur</b>-nr</code>n-resize
  20. <code><b>cur</b>-er</code>e-resize
  21. <code><b>cur</b>-sr</code>s-resize
  22. <code><b>cur</b>-wr</code>w-resize
  23. <code><b>cur</b>-ner</code>ne-resize
  24. <code><b>cur</b>-nwr</code>nw-resize
  25. <code><b>cur</b>-ser</code>se-resize
  26. <code><b>cur</b>-swr</code>sw-resize
  27. <code><b>cur</b>-ewr</code>ew-resize
  28. <code><b>cur</b>-nsr</code>ns-resize
  29. <code><b>cur</b>-neswr</code>nesw-resize
  30. <code><b>cur</b>-nwser</code>nwse-resize
  31. <code><b>cur</b>-zi</code>zoom-in
  32. <code><b>cur</b>-zo</code>zoom-out
  33. <code><b>cur</b>-g</code>grab
  34. <code><b>cur</b>-gr</code>grabbing
  35. <code><b>cur</b>-n</code>none

resize

  1. <code><b>rz</b>-n</code>none
  2. <code><b>rz</b>-b</code>both
  3. <code><b>rz</b>-h</code>horizontal
  4. <code><b>rz</b>-v</code>vertical

text-overflow

  1. <code><b>t</b>ov-e</code>ellipsis
  2. <code><b>t</b>ov-c</code>clip

user-select

  1. <code><b>us</b>-n</code>none
  2. <code><b>us</b>-t</code>text
  3. <code><b>us</b>-a</code>all

Table

border-collapse

  1. <code><b>bd</b>ce-c</code>collapse
  2. <code><b>bd</b>ce-s</code>separate
  3. <code><b>bd</b>ce-i</code>inherit

caption-side

  1. <code><b>cps</b>-t</code>top
  2. <code><b>cps</b>-b</code>bottom

empty-cells

  1. <code><b>ec</b>-s</code>show
  2. <code><b>ec</b>-h</code>hide

table-layout

  1. <code><b>tbl</b>-a</code>auto
  2. <code><b>tbl</b>-f</code>fixed

vertical-align

  1. <code><b>va</b>-sp</code>super
  2. <code><b>va</b>-t</code>top
  3. <code><b>va</b>-tt</code>text-top
  4. <code><b>va</b>-m</code>middle
  5. <code><b>va</b>-bs</code>baseline
  6. <code><b>va</b>-b</code>bottom
  7. <code><b>va</b>-tb</code>text-bottom
  8. <code><b>va</b>-sb</code>sub

Miscellaneous

display

  1. <code><b>d</b>-n</code>none
  2. <code><b>d</b>-b</code>block
  3. <code><b>d</b>-fx</code>flex
  4. <code><b>d</b>-li</code>list-item
  5. <code><b>d</b>-ri</code>run-in
  6. <code><b>d</b>-i</code>inline
  7. <code><b>d</b>-itb</code>inline-table
  8. <code><b>d</b>-ifx</code>inline-flex
  9. <code><b>d</b>-ib</code>inline-block
  10. <code><b>d</b>-tb</code>table
  11. <code><b>d</b>-tcp</code>table-caption
  12. <code><b>d</b>-tc</code>table-column
  13. <code><b>d</b>-tcg</code>table-column-group
  14. <code><b>d</b>-thg</code>table-header-group
  15. <code><b>d</b>-tfg</code>table-footer-group
  16. <code><b>d</b>-tr</code>table-row
  17. <code><b>d</b>-trg</code>table-row-group
  18. <code><b>d</b>-tcl</code>table-cell
  19. <code><b>d</b>-rb</code>ruby
  20. <code><b>d</b>-rbb</code>ruby-base
  21. <code><b>d</b>-rbbc</code>ruby-base-container
  22. <code><b>d</b>-rbt</code>ruby-text
  23. <code><b>d</b>-rbtc</code>ruby-text-container

License

The code is available under MIT licence.