Autres tutoriels sur le sujet
- Modifier et ajouter des attributs HTML dans Genesis
- L’éditeur moderne de WordPress avec Grid Layout CSS
- Placer les éléments avec Grid Layout CSS
- Unité de mesure avec Grid Layout CSS
- Construction de grilles simples avec Grid Layout CSS
- Déclaration et terminologie pour Grid Layout CSS
- Utiliser l’inspecteur de Chrome pour modifier et sauvegarder vos styles CSS en direct
- WordPress :: Utiliser Grid Layout CSS dans votre thème
- CSS3 :: Les outils pour inspecter
- CSS3 :: comprendre les media queries avec Chrome
- Outil css3 Please
Récemment, après avoir beaucoup utilisé les mixins avec Less, j’ai constaté après coup que ces mêmes mixins étaient également générés dans la feuille de style compilée. Cela provoquait dans mon cas une duplication du code.
Mixin dans les CSS compilé
Pour ne pas avoir les mixins dans les CSS compilés par Less, il s’agit juste d’ajouter ()
après le nom du mixin (si celui-ci n’a pas de paramètres). Sinon, comme nous le verrons, ce n’est pas nécessaire.
Cet article: How to use Mixins in LESS, a CSS Preprocessor décrit bien le processus global des mixins.
Finalement, le mixin doit être vu comme un ensemble de règles CSS qui peut être intégré dans d’autres déclarations. D’où le fait qu’il soit généré dans les CSS quand il n’a pas d’autres paramètres attachés. Il a une existence à part, en tant que déclaration et il peut être injecté dans d’autres déclarations comme le ferait une variable.
Exemple de mixin simple
Dans ce cas .traitsCommuns
sera généré dans les CSS compilés
.traitsCommuns {
border-radius: 10px;
border: 5px solid #b92815;
padding: 10px;
}
header {
color: #274D87;
.traitsCommuns;
}
Et nous aurons au final dans les CSS:
.traitsCommuns {
border-radius: 10px;
border: 5px solid #b92815;
padding: 10px;
}
header {
color: #274D87;
border-radius: 10px;
border: 5px solid #b92815;
padding: 10px;
}
Exemple de mixin avec paramètre vide
Dans cet autre cas, le même mixin ne sera généré que dans les déclarations où il est utilisé. Ici dans le header
.
.traitsCommuns() {
border-radius: 10px;
border: 5px solid #b92815;
padding: 10px;
}
header {
color: #274D87;
.traitsCommuns;
}
Et nous aurons au final dans les CSS:
header {
color: #274D87;
border-radius: 10px;
border: 5px solid #b92815;
padding: 10px;
}
Exemple de mixins avec paramètres actifs (parameterized mixins)
Dans ce dernier cas, le mixin ne sera généré que dans le cadre d’une déclaration, ici #maboite
.border-radius(@radius: 5px) {
-mox-border-radius: @radius;
-webkit-border-radius: @radius;
-ms-border-radius: @radius;
border-radius: @radius;
}
Dans l’utilisation, le paramètre n’est pas obligatoire, car j’ai déterminé un paramètre par défaut: @radius: 5px
#maboite {
.border-radius;
background-color: red;
width: 200px;
height: 100px;
}
Et nous aurons au final dans les CSS:
#maboite {
.border-radius;
background-color: red;
width: 200px;
height: 100px;
-mox-border-radius: 5px;
-webkit-border-radius: 5px;
-ms-border-radius: 5px;
border-radius: 5px;
}
Note: Je compte bien faire des tutoriels plus complets sur Less.
2 réponses
Sympa, cette petite astuce. Je n’avais pas fait gaffe à ça. Du coup je prenais soin de mettre le () systématiquement pour respecter les « règles ». Je vais m’abstenir pour économiser en taille de fichier css.
Merci Grégoire, en attendant tes autres tutos… 🙂
Je t’en prie Fabrice. Merci pour ton message.