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