UNPKG

spacing

Version:
165 lines (133 loc) 2.37 kB
# spacing Opensource functional CSS spacing for modern web development - [<b>setup</b>](#setup) - [<b>classes</b>](#classes) - [<b>data-spacing</b>](#data-spacing) - [<b>scaling</b>](#scaling) - [<b>files</b>](#files) ## setup ``` npm install spacing ``` ### import whichever [file(s)](#files) meets your needs - [`main.css`](main.css) is harcoded for CSS3 compatibility - [`module.css`](module.css) uses CSS4 variables ```css @import "node_modules/spacing/main"; ``` ## classes Classes are listed in order from least to most precendence. ### `padding` - `.p0` - `.p1` - `.p2` - `.p3` - `.p4` ### `padding-top` - `.pt0` - `.pt1` - `.pt2` - `.pt3` - `.pt4` ### `padding-left` - `.pl0` - `.pl1` - `.pl2` - `.pl3` - `.pl4` ### `padding-right` - `.pr0` - `.pr1` - `.pr2` - `.pr3` - `.pr4` ### `padding-bottom` - `.pb0` - `.pb1` - `.pb2` - `.pb3` - `.pb4` ### `margin` - `.-m2` - `.-m1` - `.m0` - `.m1` - `.m2` - `.m3` - `.m4` - `.m-auto` ### `margin-top` - `.mt0` - `.mt1` - `.mt2` - `.mt3` - `.mt4` - `.mt-auto` ### `margin-left` - `.ml0` - `.ml1` - `.ml2` - `.ml3` - `.ml4` - `.ml-auto` ### `margin-right` - `.mr0` - `.mr1` - `.mr2` - `.mr3` - `.mr4` - `.mr-auto` ### `margin-bottom` - `.mb0` - `.mb1` - `.mb2` - `.mb3` - `.mb4` - `.mb-auto` ### `:first-child` - `.mt0-first` - `.ml0-first` - `.mr0-first` - `.mb0-first` ### `:last-child` - `.mt0-last` - `.ml0-last` - `.mr0-last` - `.mb0-last` ## data-spacing Alternative to [classes](#classes) you can also space via `[data-spacing]` with value(s) being any of the classes. ```html <p data-spacing="p1 m0 mb2"> ``` All `[data-spacing]` selectors come after the classes in the cascade. ## scaling ### spacing variables default to `rem` and therefore can be scaled responsively with the `rem` size ```css :root { font-size: 1em; font-size: calc(.9em + .5vw + .5vh); } ``` ### in CSS4 you could scale via media queries ```css :root { --space-1: .5rem; --space-2: 1rem; --space-3: 1.5rem; --space-4: 3rem; } @media (min-width: 30em) and (min-height: 20em) { :root { --space-1: .5rem; --space-2: 1rem; --space-3: 2rem; --space-4: 4rem; } } ``` ## files - [main.css](main.css) css3+ bundle - [module.css](module.css) css4+ bundle - [class.css](class.css) class selectors - [data.css](data.css) data selectors - [root.css](root.css) default variables