1. CSS előfeldolgozók
– amire
frontendesként
mindig is vágytál
Farkas Máté
Web konferencia, 2012. október 20.
2. Why we need this?
.alert {
color: #f36;
font-size: 1.4em;
}
.important {
color: #f36;
font-size: 1.1em;
}
3. CSS needs a hero. /Stylus/
-webkit-transition: color 1s ease;
-moz-transition: color 1s ease;
-ms-transition: color 1s ease;
-o-transition: color 1s ease;
transition: color 1s ease;
4. Write less, do more. /jQuery/
.my-module a { /*...*/ }
.my-module a:hover { /*...*/ }
.my-module strong { /*...*/ }
.my-module p.em { /*...*/ }
.my-module p.em em { /*...*/ }
5. LESS
The dynamic stylesheet language
• Könnyen tanulható
• Elterjedt, aktívan fejlesztik (1.3.1: 2012.10.18.)
• Szintaxis kiemelés támogatottsága jó
• CSS-jellegű szintaxis
• Változók, függvények, mixinek, import
• JavaScript (Node.js, Rhino, böngésző(!)…)
• A szintaktikus hiba kezelése nem mindig megfelelő
• Nincs source map támogatás (nem hiányzott)
• Nincsen előre elkészített mixin csomag
6. LESS usage
<link rel="stylesheet/less"
type="text/css" href="styles.less">
<script src="less.js"
type="text/javascript"></script>
npm install –g less
mv style.css style.less
lessc style.less >style.css
32. Stylus mixins
border-radius(n)
-webkit-border-radius n
-moz-border-radius n
border-radius n
form input[type=button]
border-radius(5px)
33. Stylus nested rules
ul
li a
display block
color blue
padding 5px
html.ie & inspired by SASS
padding 6px
&:hover
color red
34. Stylus error reporting
Error: /tmp/stylus/test.styl:4
1|
2| body {
3| form input {
> 4| background: foo[fail];
5| }
6| }
7|
cannot perform foo[(fail)]
at "form input" (/tmp/stylus/test.styl:4)
at "body" (/tmp/stylus/test.styl:3)
35. FAQ
• Teljesítmény: nem romlik, ha ésszel használjuk
• CSS-be hackelés elkerülése a build folyamat
tisztázásával
• Megjegyzések: az egysoros silent, a CSS comment
megmarad, a LESS kivételével van buffered is.
• Előny: átállás során egységesítés, majd a változtatás
könnyedén ment
• CSS változók: majd egyszer…
36. After all…
Nem az a kérdés, hogy használjunk-e CSS
előfeldolgozót, hanem hogy melyiket.
• Ha egyszerűt szeretnénk: LESS
• Ha hajlandók vagyunk tanulni: SASS
• Ha kihívás kell: Stylus