Der findes et hav af preprocessor, sass, less, stylus.
gem install sass
sass --watch input.scss:output.css
Gamle måde en css-fil med kommentarer
Variabler i sass gør det lettere at sikrer ensartethed i designet
$primary-color: #003366; $color-secondary: #00497a; $color-highlight: #ff9600; $color-muted: #eef;
h1{ color: $primary-color; }
Variabler i sass gør det lettere at sikrer ensartethed i designet
@mixin font-size( $value ) { font-size: ( $value ) * 1px; font-size: ( $value / $base-font-size ) * 1rem; }
http://sass-lang.com/documentation/Sass/Script/Functions.html
Ulempen i dette er at skal man skille kode fra skal man ind i denne fil og fjerne det, hvilket åbner op for fejl. Vis eksempel på dette. https://developers.google.com/web/fundamentals/getting-started/web-starter-kit/setting-upSass kan minificer css
Sass kan samle css regler ved hjælp af @extend
.button{ margin: 0; padding: 0 20px; background-color: #003384; } .button-alt{ @extend .button; background-color: #000000; } genererer flg: .button, .button-alt{ margin: 0; padding: 0 20px; background-color: #003384; } button-alt{ background-color: #000000; }Ulempen i dette er at skal man skille kode fra skal man ind i denne fil og fjerne det, hvilket åbner op for fejl. Vis eksempel på dette. https://developers.google.com/web/fundamentals/getting-started/web-starter-kit/setting-up
sass frameworks
http://thesassway.com/
http://sassmeister.com
Block, element and modifier https://bem.info/method/
Scalable and Modular architecture for css https://smacss.com/
object oriented css http://oocss.org/
.newsbox{ li{ a{ } } }
.newsbox{} .newsbox__item{} .newsbox__link{} .newsbox__button{ @extend .button; }
.newsbox__item{} .newsbox__item--alt{ @extend .newsbox__item; }
installer node fra http://nodejs.org/
Der findes lignede plugins til gulp
ret i filer direkte i browseren
se dem blive compilet