Quantum CSS
โEverything should be made as simple as possible, but no simpler.โ โ Albert Einstein 1
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:
-
Highly standardized styles. Limited amount of building blocks allows you to have more order in your design.
-
Stylesheet compilation time errors. Build fails if unknown atoms are used.
-
Easy to remember class names. Atoms naming convention was heavily inspired by Emmet, and most of the time abbreviations are first letters of words that property or value names consist of.
Contents
-
Background
background-color
background-attachment
background-clip
background-image
background-origin
background-repeat
background-size
background-position
background-position-x
background-position-y
-
Border
border-color
border-top-color
border-right-color
border-bottom-color
border-left-color
border-width
border-top-width
border-right-width
border-bottom-width
border-left-width
border-style
border-top-style
border-right-style
border-bottom-style
border-left-style
border-radius
border-top-right-radius
border-top-left-radius
border-bottom-right-radius
border-bottom-left-radius
-
Flexible Box Layout
flex-direction
flex-wrap
flex-grow
flex-shrink
flex-basis
justify-content
align-items
align-content
align-self
order
-
Positioning
float
clear
position
top
right
bottom
left
z-index
-
Fonts
font-size
line-height
font-family
font-weight
font-style
font-variant
font-size-adjust
font-stretch
-webkit-font-smoothing
-moz-osx-font-smoothing
-
Transitions
transition-property
transition-duration
transition-timing-function
-
Text
letter-spacing
overflow-wrap
text-align
text-align-last
text-indent
text-decoration
text-transform
white-space
word-break
word-wrap
-
Lists and Counters
list-style
list-style-position
list-style-type
-
Box Model
box-sizing
height
width
margin
padding
overflow
overflow-x
overflow-y
-webkit-overflow-scrolling
visibility
-
Table
border-collapse
caption-side
empty-cells
table-layout
vertical-align
Naming Conventions
In Quantum CSS every class name consists of four parts in given order:
- Optional breakpoint name:
SM
,MD
etc. - Property abbreviation:
bdtc
,ws
etc. - Value abbreviation:
w
,100p
,360d
etc. - Optional pseudo-class or pseudo-element modifier:
hf
,h
etc.
You can configure separators between each parts of class name with following variables:
-
$breakpoint-sep
define separator between breakpoint name and property abbreviation. -
$literal-sep
and$ordinal-sep
define separators that are inserted between property name and literal value abbreviation or ordinal one respectively. -
$pseudo-sep
defines separator between pseudo modifier from value abbreviation.
Value Aliases
Aliases for commonly used values:
p
โ%
e
โem
x
โex
r
โrem
d
โdeg
t
โturn
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
.
Greyscale | Value |
---|
- White
w
|#fff
- Grey 15%
g1
|#eeeeec
- Grey 30%
g2
|#d3d7cf
- Grey 45%
g3
|#babdb6
- Grey 60%
g4
|#888a85
- Grey 75%
g5
|#555753
- Grey 90%
g6
|#2e3436
- Black
b
|#000
Color | Light l |
Medium | Dark d |
---|
- Yellow
y
|#fce94f
|#edd400
|#c4a000
- Orange
o
|#fcaf3e
|#f57900
|#ce5c00
- Chocolate
c
|#e9b96e
|#c17d11
|#8f5902
- Green
g
|#8ae234
|#73d216
|#4e9a06
- Navy
n
|#729fcf
|#3465a4
|#204a87
- Purple
p
|#ad7f8a
|#75507b
|#5c3566
- Red
r
|#ef2929
|#cc0000
|#a40000
CSS-literal colors:
cc
โcurrentColor
t
โtransparent
i
โinherit
Generated atom examples:
SM_bgc-dg
โbackground-color: #4e9a06
Dark greenbdrc-w
โborder-right-color: white
LG_c-b
โcolor: black
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.
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
Containers g
As well as in Bootstrap Containers are the most basic layout element and are required when using grid system. Use g-f
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
.
Rows gr
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>
Columns gc
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 SM_gc4
. 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 [breakpoint_]go(0โฆ12/1)
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 [breakpoint_]gsl(0โฆ12/1)
or to the right with [breakpoint_]gsr(0โฆ12/1)
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
(1โฆ10/2)
Range of possible values from1
to10
with step2
.[breakpoint_]
and[-pseudo]
Optional breakpoint and pseudo-element or pseudo-class.{key}
and{value}
Placeholders for map key and map value.
Example [breakpoint_]fw(100โฆ900/100)
expands to fw100
, fw200
โฆ SM_fw100
, SM_fw200
โฆ LG_fw900
.
Background
background-color
[breakpoint_]bgc{key}[-pseudo]
โ background-color: {value}
Specify mapping in $background-colors: (key: value)
.
background-attachment
bga-f
โfixed
bga-s
โscroll
background-clip
bgcp-bb
โborder-box
bgcp-pb
โpadding-box
bgcp-cb
โcontent-box
bgcp-i
โinherit
background-image
bgi-n
โnone
bgi-i
โinherit
background-origin
bgo-bb
โborder-box
bgo-pb
โpadding-box
bgo-cb
โcontent-box
background-repeat
bgr-n
โno-repeat
bgr-x
โrepeat-x
bgr-y
โrepeat-y
bgr-s
โspace
bgr-r
โround
background-size
bgz-a
โauto
bgz-ct
โcontain
bgz-cv
โcover
background-position
bgp-tc
โtop center
bgp-tl
โtop left
bgp-cr
โcenter right
bgp-cc
โcenter center
bgp-cl
โcenter left
bgp-br
โbottom right
bgp-bc
โbottom center
bgp-bl
โbottom left
background-position-x
bgpx-r
โright
bgpx-c
โcenter
bgpx-l
โleft
background-position-y
bgpy-t
โtop
bgpy-c
โcenter
bgpy-b
โbottom
fill
[breakpoint_]fi{key}[-pseudo]
โ fill: {value}
Specify mapping in $background-colors: (key: value)
.
Border
border-color
[breakpoint_]bdc{key}[-pseudo]
โborder-color: {value}
[breakpoint_]bdxc{key}[-pseudo]
=bdlc{key}
,bdrc{key}
[breakpoint_]bdyc{key}[-pseudo]
=bdtc{key}
,bdbc{key}
[breakpoint_]bdtc{key}[-pseudo]
โborder-top-color: {value}
[breakpoint_]bdbc{key}[-pseudo]
โborder-bottom-color: {value}
[breakpoint_]bdrc{key}[-pseudo]
โborder-right-color: {value}
[breakpoint_]bdlc{key}[-pseudo]
โborder-left-color: {value}
Specify mapping in $border-colors: (key: value)
.
border-width
[breakpoint_]bdw{key}
โborder-width: {value}
[breakpoint_]bdxw{key}
=bdlw{key}
,bdrw{key}
[breakpoint_]bdyw{key}
=bdtw{key}
,bdbw{key}
[breakpoint_]bdtw{key}
โborder-top-width: {value}
[breakpoint_]bdbw{key}
โborder-bottom-width: {value}
[breakpoint_]bdrw{key}
โborder-right-width: {value}
[breakpoint_]bdlw{key}
โborder-left-width: {value}
Specify mapping in $border-widths: (key: value)
.
border-style
[breakpoint_]bds{key}
โborder-style: {value}
[breakpoint_]bdxs{key}
=bdls{key}
,bdrs{key}
[breakpoint_]bdys{key}
=bdts{key}
,bdbs{key}
[breakpoint_]bdts{key}
โborder-top-style: {value}
[breakpoint_]bdbs{key}
โborder-bottom-style: {value}
[breakpoint_]bdrs{key}
โborder-right-style: {value}
[breakpoint_]bdls{key}
โborder-left-style: {value}
Specify mapping in $border-styles: (key: value)
.
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
[breakpoint_]bdr{key}
โborder-radius: {value}
[breakpoint_]bdtr{key}
=bdtlr{key}
,bdtrr{key}
[breakpoint_]bdrr{key}
=bdtrr{key}
,bdbrr{key}
[breakpoint_]bdbr{key}
=bdblr{key}
,bdbrr{key}
[breakpoint_]bdlr{key}
=bdtlr{key}
,bdblr{key}
[breakpoint_]bdtrr{key}
โborder-top-right-radius: {value}
[breakpoint_]bdtlr{key}
โborder-top-left-radius: {value}
[breakpoint_]bdbrr{key}
โborder-bottom-right-radius: {value}
[breakpoint_]bdblr{key}
โborder-bottom-left-radius: {value}
Specify mapping in $border-radiuses: (key: value)
.
Images
object-fit
of-n
โnone
of-f
โfill
of-ct
โcontain
of-cv
โcover
of-sd
โscale-down
of-i
โinherit
Transforms
transform
ts-n
โnone
ts-i
โinherit
tsr(45dโฆ360/45d)
โtransform: rotate(45deg)
โฆrotate(360deg)
tsr(-45dโฆ-360/-45d)
โtransform: rotate(-45deg)
โฆrotate(-360deg)
tss(0โฆ200/25)
โtransform: scale(0)
โฆscale(2)
Flexible Box Layout
These shortcuts are available if display atom is included.
[breakpoint_]fx-r
=d-fx
,fxd-r
[breakpoint_]fx-rr
=d-fx
,fxd-rr
[breakpoint_]fx-c
=d-fx
,fxd-c
[breakpoint_]fx-cr
=d-fx
,fxd-cr
flex-direction
[breakpoint_]fxd-r
โrow
[breakpoint_]fxd-rr
โrow-reverse
[breakpoint_]fxd-c
โcolumn
[breakpoint_]fxd-cr
โcolumn-reverse
flex-wrap
[breakpoint_]fxw-n
โnowrap
[breakpoint_]fxw-w
โwrap
[breakpoint_]fxw-wr
โwrap-reverse
flex-grow
[breakpoint_]fxg(0โฆ10/1)
โ flex-grow: 0
โฆ10
flex-shrink
[breakpoint_]fxs(0โฆ10/1)
โ flex-shrink: 0
โฆ10
flex-basis
[breakpoint_]fxb-a
โauto
[breakpoint_]fxb-mac
โmax-content
[breakpoint_]fxb-mic
โmin-content
[breakpoint_]fxb-fc
โfit-content
[breakpoint_]fxb-c
โcontent
justify-content
[breakpoint_]jc-fs
โflex-start
[breakpoint_]jc-fe
โflex-end
[breakpoint_]jc-c
โcenter
[breakpoint_]jc-sb
โspace-between
[breakpoint_]jc-sa
โspace-around
align-items
[breakpoint_]ai-fs
โflex-start
[breakpoint_]ai-fe
โflex-end
[breakpoint_]ai-c
โcenter
[breakpoint_]ai-bs
โbaseline
[breakpoint_]ai-s
โstretch
align-content
[breakpoint_]ac-fs
โflex-start
[breakpoint_]ac-fe
โflex-end
[breakpoint_]ac-c
โcenter
[breakpoint_]ac-sb
โspace-between
[breakpoint_]ac-sa
โspace-around
[breakpoint_]ac-s
โstretch
align-self
[breakpoint_]as-a
โauto
[breakpoint_]as-fs
โflex-start
[breakpoint_]as-fe
โflex-end
[breakpoint_]as-c
โcenter
[breakpoint_]as-b
โbaseline
[breakpoint_]as-s
โstretch
order
[breakpoint_]ord(0โฆ10/1)
โ order: 0
โฆ10
Positioning
float
[breakpoint_]fl-l
โleft
[breakpoint_]fl-r
โright
[breakpoint_]fl-n
โnone
clear
cl-l
โleft
cl-r
โright
cl-b
โboth
cl-n
โnone
position
pos-s
โstatic
pos-a
โabsolute
pos-r
โrelative
pos-f
โfixed
top
right
bottom
left
[breakpoint_]t{key}
โtop: {value}
[breakpoint_]r{key}
โright: {value}
[breakpoint_]b{key}
โbottom: {value}
[breakpoint_]l{key}
โleft: {value}
Specify mapping in $positions: (key: value)
.
z-index
z(0โฆ10/1)
โz-index: 0
โฆ10
z-a
โauto
z-i
โinherit
Fonts
font-size
[breakpoint_]fz-xxs
โxx-small
[breakpoint_]fz-xs
โx-small
[breakpoint_]fz-s
โsmall
[breakpoint_]fz-m
โmedium
[breakpoint_]fz-l
โlarge
[breakpoint_]fz-xl
โx-large
[breakpoint_]fz-xxl
โxx-large
[breakpoint_]fz-lr
โlarger
[breakpoint_]fz-sr
โsmaller
[breakpoint_]fz-i
โinherit
[breakpoint_]fz{key}
โfont-size: {value}
Specify mapping in $font-sizes: (key: value)
.
line-height
lh-n
โnormal
lh-i
โinherit
lh0
โ0
lh1
โ1
lh{key}
โline-height: {value}
Specify mapping in $line-heights: (key: value)
.
font-family
[breakpoint_]fs-s
โserif
[breakpoint_]fs-ss
โsans-serif
[breakpoint_]fs-m
โmonospace
[breakpoint_]fs-c
โcursive
[breakpoint_]fs-f
โfantasy
[breakpoint_]fs-i
โinherit
[breakpoint_]fs{key}
โfont-family: {value}
Specify mapping in $font-families: (key: value)
.
font-weight
[breakpoint_]fw(100โฆ900/100)
โfont-weight: 100
โฆ900
[breakpoint_]fw-n
โnormal
[breakpoint_]fw-b
โbold
[breakpoint_]fw-br
โbolder
[breakpoint_]fw-lr
โlighter
[breakpoint_]fw-i
โinherit
font-style
[breakpoint_]fs-n
โnormal
[breakpoint_]fs-i
โitalic
[breakpoint_]fs-o
โoblique
font-variant
fv-cl
โcommon-ligatures
fv-apc
โall-petite-caps
fv-asc
โall-small-caps
fv-sc
โsmall-caps
fv-c
โcontextual
fv-df
โdiagonal-fractions
fv-sf
โstacked-fractions
fv-hf
โhistorical-forms
fv-hl
โhistorical-ligatures
fv-i
โinherit
fv-n
โnormal
fv-tn
โtabular-nums
fv-pn
โproportional-nums
fv-pw
โproportional-width
font-size-adjust
fza-n
โ none
font-stretch
fst-n
โnormal
fst-uc
โultra-condensed
fst-ec
โextra-condensed
fst-c
โcondensed
fst-sc
โsemi-condensed
fst-se
โsemi-expanded
fst-e
โexpanded
fst-ee
โextra-expanded
fst-ue
โultra-expanded
-webkit-font-smoothing
wfsm-a
โantialiased
wfsm-sa
โsubpixel-antialiased
wfsm-n
โnone
-moz-osx-font-smoothing
mfsm-a
โauto
mfsm-g
โgrayscale
Transitions
transition-property
trp-n
โnone
trp-a
โall
transition-duration
trd(100msโฆ1000ms/100ms)
โ transition-duration: 100ms
โฆ1000ms
transition-timing-function
trtf-e
โease
trtf-ei
โease-in
trtf-eo
โease-out
trtf-eio
โease-in-out
trtf-l
โlinear
trtf-ss
โstep-start
trtf-se
โstep-end
Text
letter-spacing
ls-n
โnormal
ls-i
โinherit
ls{key}
โletter-spacing: {value}
Specify mapping in $letter-spacings: (key: value)
.
overflow-wrap
ovw-n
โnormal
ovw-b
โbreak-word
text-align
[breakpoint_]ta-l
โleft
[breakpoint_]ta-c
โcenter
[breakpoint_]ta-r
โright
[breakpoint_]ta-j
โjustify
text-align-last
[breakpoint_]tal-l
โleft
[breakpoint_]tal-c
โcenter
[breakpoint_]tal-r
โright
[breakpoint_]tal-j
โjustify
text-indent
ti{key}
โ text-indent: {value}
Specify mapping in $text-indents: (key: value)
.
text-decoration
[breakpoint_]td-n[-pseudo]
โnone
[breakpoint_]td-u[-pseudo]
โunderline
[breakpoint_]td-o
โoverline
[breakpoint_]td-lt
โline-through
text-transform
tt-c
โcapitalize
tt-u
โuppercase
tt-l
โlowercase
tt-n
โnone
tt-fw
โfull-width
white-space
[breakpoint_]ws-n
โnormal
[breakpoint_]ws-p
โpre
[breakpoint_]ws-nw
โnowrap
[breakpoint_]ws-pw
โpre-wrap
[breakpoint_]ws-pl
โpre-line
word-break
wob-n
โnormal
wob-ka
โkeep-all
wob-ba
โbreak-all
word-wrap
wow-n
โnormal
wow-bw
โbreak-word
Lists and Counters
list-style
lis-n
โnone
lis-i
โinherit
list-style-position
lisp-in
โinside
lisp-o
โoutside
lisp-i
โinherit
list-style-type
list-n
โnone
list-d
โdisc
list-c
โcircle
list-s
โsquare
list-dc
โdecimal
list-dclz
โdecimal-leading-zero
list-lr
โlower-roman
list-ur
โupper-roman
list-i
โinherit
Colors
color
[breakpoint_]c{key}[-pseudo]
โ color: {value}
Specify mapping in $colors: (key: value)
.
opacity
op(0โฆ100/1)
โ opacity: 0
โฆ1
Box Model
box-shadow
bxs{key}[-pseudo]
โ box-shadow: {value}
Specify mapping in $box-shadows: (key: value)
.
box-sizing
bxz-cb
โcontent-box
bxz-bb
โborder-box
bxz-i
โinherit
height
[breakpoint_]h{key}
โheight: {value}
[breakpoint_]mah-n
โmax-height: none
[breakpoint_]mah{key}
โmax-height: {value}
[breakpoint_]mih{key}
โmin-height: {value}
Specify mapping in $heights: (key: value)
.
width
[breakpoint_]w{key}
โwidth: {value}
[breakpoint_]maw-n
โmax-width: none
[breakpoint_]maw{key}
โmax-width: {value}
[breakpoint_]miw{key}
โmin-width: {value}
Specify mapping in $widths: (key: value)
.
margin
[breakpoint_]m{key}
โmargin: {value}
[breakpoint_]mx-a
โmargin-left: auto
,margin-right: auto
[breakpoint_]mx{key}
=ml{key}
,mr{key}
[breakpoint_]my{key}
=mt{key}
,mb{key}
[breakpoint_]mt{key}
โmargin-top: {value}
[breakpoint_]mr{key}
โmargin-right: {value}
[breakpoint_]mb{key}
โmargin-bottom: {value}
[breakpoint_]ml{key}
โmargin-left: {value}
Specify mapping in $margins: (key: value)
.
padding
[breakpoint_]p{key}
โpadding: {value}
[breakpoint_]px{key}
=pl{key}
,pr{key}
[breakpoint_]py{key}
=pt{key}
,pb{key}
[breakpoint_]pt{key}
โpadding-top: {value}
[breakpoint_]pr{key}
โpadding-right: {value}
[breakpoint_]pb100p
โpadding-bottom: 100%
[breakpoint_]pb{key}
โpadding-bottom: {value}
[breakpoint_]pl{key}
โpadding-left: {value}
Specify mapping in $paddings: (key: value)
.
overflow
ov-v
โvisible
ov-h
โhidden
ov-s
โscroll
ov-a
โauto
overflow-x
ovx-v
โvisible
ovx-h
โhidden
ovx-s
โscroll
ovx-a
โauto
overflow-y
ovy-v
โvisible
ovy-h
โhidden
ovy-s
โscroll
ovy-a
โauto
-webkit-overflow-scrolling
wovs-t
โtouch
wovs-a
โauto
visibility
[breakpoint_]v-v
โvisible
[breakpoint_]v-h
โhidden
[breakpoint_]v-c
โcollapse
Page
page-break-before
pgbb-a
โauto
pgbb-al
โalways
pgbb-av
โavoid
pgbb-l
โleft
pgbb-r
โright
page-break-inside
pgbi-a
โauto
pgbi-av
โavoid
page-break-after
pgba-a
โauto
pgba-al
โalways
pgba-av
โavoid
pgba-l
โleft
pgba-r
โright
User Interface
cursor
cur-a
โauto
cur-d
โdefault
cur-cm
โcontext-menu
cur-h
โhelp
cur-p
โpointer
cur-ps
โprogress
cur-w
โwait
cur-cl
โcell
cur-c
โcrosshair
cur-t
โtext
cur-al
โalias
cur-cp
โcopy
cur-m
โmove
cur-nd
โno-drop
cur-na
โnot-allowed
cur-as
โall-scroll
cur-cr
โcol-resize
cur-rr
โrow-resize
cur-nr
โn-resize
cur-er
โe-resize
cur-sr
โs-resize
cur-wr
โw-resize
cur-ner
โne-resize
cur-nwr
โnw-resize
cur-ser
โse-resize
cur-swr
โsw-resize
cur-ewr
โew-resize
cur-nsr
โns-resize
cur-neswr
โnesw-resize
cur-nwser
โnwse-resize
cur-zi
โzoom-in
cur-zo
โzoom-out
cur-g
โgrab
cur-gr
โgrabbing
cur-n
โnone
resize
rz-n
โnone
rz-b
โboth
rz-h
โhorizontal
rz-v
โvertical
text-overflow
tov-e
โellipsis
tov-c
โclip
user-select
us-n
โnone
us-t
โtext
us-a
โall
Table
border-collapse
bdce-c
โcollapse
bdce-s
โseparate
bdce-i
โinherit
caption-side
cps-t
โtop
cps-b
โbottom
empty-cells
ec-s
โshow
ec-h
โhide
table-layout
tbl-a
โauto
tbl-f
โfixed
vertical-align
va-sp
โsuper
va-t
โtop
va-tt
โtext-top
va-m
โmiddle
va-bs
โbaseline
va-b
โbottom
va-tb
โtext-bottom
va-sb
โsub
Miscellaneous
display
d-n
โnone
d-b
โblock
d-fx
โflex
d-li
โlist-item
d-ri
โrun-in
d-i
โinline
d-itb
โinline-table
d-ifx
โinline-flex
d-ib
โinline-block
d-tb
โtable
d-tcp
โtable-caption
d-tc
โtable-column
d-tcg
โtable-column-group
d-thg
โtable-header-group
d-tfg
โtable-footer-group
d-tr
โtable-row
d-trg
โtable-row-group
d-tcl
โtable-cell
d-rb
โruby
d-rbb
โruby-base
d-rbbc
โruby-base-container
d-rbt
โruby-text
d-rbtc
โruby-text-container
License
The code is available under MIT licence.