25
Gagnez en productivité avec les préprocesseurs CSS Pierre-Emmanuel Fringant http://www.formation-cakephp.com @pefringant

Gagnez en productivité grâce aux préprocesseurs css

Embed Size (px)

DESCRIPTION

Présentation des préprocesseurs CSS (Sass/Scss, Less, Stylus) et leurs apports au langage CSS de base.

Citation preview

Page 1: Gagnez en productivité grâce aux préprocesseurs css

Gagnez en productivité avec les préprocesseurs CSSPierre-Emmanuel Fringanthttp://www.formation-cakephp.com@pefringant

Page 2: Gagnez en productivité grâce aux préprocesseurs css

Préprocesseur CSS ?● Tourne en tâche de fond● Analyse des scripts en métalangage● Affiche les éventuelles erreurs● Produit un fichier CSS● Plusieurs environnements possibles

Page 3: Gagnez en productivité grâce aux préprocesseurs css

Métalangages

SassScss

Less Stylus

Page 4: Gagnez en productivité grâce aux préprocesseurs css

Organisation, imports● Fractionnement libre des fichiers● Composants réutilisables● Import :

● Un seul fichier CSS au final

sass/

partials/

_forms.scss

_pagination.scss

@import "partials/forms";@import "partials/pagination";

Page 5: Gagnez en productivité grâce aux préprocesseurs css

Imbrication

Attention aux sélecteurs trop longs :

.gallery {ul {

li {line-height: 70px;margin-right: 20px;a {

display: block;img {

...

.gallery ul li a img {...

Page 6: Gagnez en productivité grâce aux préprocesseurs css

Variables$mainColor: #0088CC;

h1 {color: $mainColor;

}

Page 7: Gagnez en productivité grâce aux préprocesseurs css

Variables$mainColor: #0088CC;

h1 {color: $mainColor;

}

h2 {color: lighten($mainColor, 15%);

}

Page 8: Gagnez en productivité grâce aux préprocesseurs css

Variables$mainColor: #0088CC;

h1 {color: $mainColor;

}

h2 {color: lighten($mainColor, 15%);

}

h2 {color: #1AB2FF;

}

Page 9: Gagnez en productivité grâce aux préprocesseurs css

Variables et opérations$siteWidth: 960px;$contentWidth: 500px;$sidebarWidth: 220px;

#wrapper {width: $siteWidth;

}#content {

width: $contentWidth;}#sidebar {

width: $sidebarWidth;}#extra {

width: $siteWidth - $contentWidth - $sidebarWidth;}

Page 10: Gagnez en productivité grâce aux préprocesseurs css

Référence au sélecteur parent#report td {

font-size: 14px;&:first-child {

width: 100%;}&:not(first-child) {

white-space: nowrap;}

a {color: blue;&:hover {

text-decoration: underline;}

}}

Page 11: Gagnez en productivité grâce aux préprocesseurs css

Référence au sélecteur parent#report td {

font-size: 14px;

}#report td:first-child {

width: 100%;}#report td:not(first-child) {

white-space: nowrap;}

#report td a { color: blue; }#report td a:hover { text-decoration: underline; }

Page 12: Gagnez en productivité grâce aux préprocesseurs css

Mixins@mixin border-radius {

-webkit-border-radius: 5px;-moz-border-radius: 5px;border-radius: 5px;

}

.box {border: 1px solid invert($mainColor);@include border-radius;

}

Page 13: Gagnez en productivité grâce aux préprocesseurs css

Mixins.box {

border: 1px solid #ff7733;-webkit-border-radius: 5px;-moz-border-radius: 5px;border-radius: 5px;

}

Page 14: Gagnez en productivité grâce aux préprocesseurs css

Mixins Avec paramètre(s)

@mixin border-radius($radius) {-webkit-border-radius: $radius;-moz-border-radius: $radius;border-radius: $radius;

}

.big-box {@include border-radius(16px);

}

Page 15: Gagnez en productivité grâce aux préprocesseurs css

Mixins Paramètre par défaut

@mixin border-radius($radius: 10px) {-webkit-border-radius: $radius;-moz-border-radius: $radius;border-radius: $radius;

}

.standard-box {@include border-radius();

}

Page 16: Gagnez en productivité grâce aux préprocesseurs css

Héritage%alert {

font: {size: 2em;weight: bold;

}}

.notice {@extend %alert;color: orange;

}

.error {@extend %alert;color: red;

}

Page 17: Gagnez en productivité grâce aux préprocesseurs css

Héritage.notice, .error {

font-size: 2em;font-weight: bold;

}

.notice {color: orange;

}

.error {color: red;

}

Page 18: Gagnez en productivité grâce aux préprocesseurs css

Media queries.sidebar {

width: 300px;@media screen and (orientation: landscape) {

width: 500px;}

}

Page 19: Gagnez en productivité grâce aux préprocesseurs css

Media queries@media screen and (orientation: landscape) {

.sidebar { width: 500px;

}}

...

.sidebar {width: 300px;

}

Page 20: Gagnez en productivité grâce aux préprocesseurs css

Mixins :● Reset● CSS3● Maintenance des sprites● Typographie (rythme vertical)● ...Communauté nombreuse et active :● Plugins

Page 21: Gagnez en productivité grâce aux préprocesseurs css

Compass : spritesimages/

actions/

new.pngedit.pngsave.pngdelete.png

@import "actions/*.png";@include all-actions-sprites;

Page 22: Gagnez en productivité grâce aux préprocesseurs css

Compass : sprites.actions-sprite,.actions-delete,.actions-edit,.actions-new,.actions-save {

background: url('/images/actions-s34fe0604ab.png') no-repeat; }

.actions-delete { background-position: 0 0; }

.actions-edit { background-position: 0 -32px; }

.actions-new { background-position: 0 -64px; }

.actions-save { background-position: 0 -96px; }

Page 23: Gagnez en productivité grâce aux préprocesseurs css

Susy● Grille pour Compass● Responsive

Page 24: Gagnez en productivité grâce aux préprocesseurs css

Twitter Bootstrap● Feuille de style complète fournie● Fichiers sources en .less● Maintenu par Twitter et la communauté● Traduit en sass/scss

Page 25: Gagnez en productivité grâce aux préprocesseurs css

Des questions [email protected]://www.formation-cakephp.com@pefringant