0.0.3 • Published 7 years ago
s.css v0.0.3
== s.css
=== What is s.css? s.css is a css assembly, it is meant to be used in other projects.
.Example
display: flex -> .di-fx direction: rtl -> .di-rtl border-style: none -> .bost-n display: table -> .di-ta
height: auto -> .he-au
=== Naming
1. Property naming: First two letters of each word (e.g. box-sizing-> bosi
)
2. Single word value naming: First two letters of each word.
3. Multi-word value naming: First letter of each word.
4. Single word conflicts: the next syllable is taken
(e.g. style -> sty-le -> sl
),
5. Multi-word conflicts: resolved by taking the next unique letter
(e.g. max-content -> mac, min-content -> mic, wrap -> wr, wrap-reverse -> wre
)
=== FAQ
- Why? ** Because it makes read/writing css easier.
- Why are semi-useless properties included in s.css? ** Because s.css is meant to be a base from which other projects can take from.
- How do I use s.css from other projects ** I recommend postcss-compose
- How is this different from Tachyons? s.css has file-per-property naming as in vertical-align classes are in the vertical-align folder s.css has a somewhat sane naming scheme that can be inferred without looking up classes. s.css doesn't bundle normalize.css. s.css doesn't enforce box-sizing: border-box.
=== Pull requests
- Additions must have real word use cases and be general enough.
- Additions should be a single property.
- Naming scheme should be followed.
- Removal of useless css is welcome.
- Moving of uncommon css from core to ext is welcome with good reasoning in commit message.
- Explain the reasoning for the changes in the commit message.