Dupliquer possible:
Eviter les constantes répétées en CSSNous avons des "couleurs de thème" qui sont réutilisées dans notre feuille CSS.
Est-il possible de définir une variable et de la réutiliser ensuite?
Par exemple
.css OurColor: Blue { H1 color:OurColor; }
Réponses
Trop de publicités?Il n'est pas nécessaire que tous les styles d'un sélecteur résident dans une seule règle, et une seule règle peut s'appliquer à plusieurs sélecteurs ... alors retournez-la :
/* Theme color: text */
H1, P, TABLE, UL
{ color: blue; }
/* Theme color: emphasis */
B, I, STRONG, EM
{ color: #00006F; }
/* ... */
/* Theme font: header */
H1, H2, H3, H4, H5, H6
{ font-family: Comic Sans MS; }
/* ... */
/* H1-specific styles */
H1
{
font-size: 2em;
margin-bottom: 1em;
}
De cette manière, vous évitez de répéter des styles qui sont conceptuellement identiques, tout en précisant les parties du document qu’ils affectent.
Non, mais Sass . C'est un préprocesseur CSS, vous permettant d'utiliser tout un tas de raccourcis pour réduire la quantité de CSS que vous avez besoin d'écrire.
Par exemple:
$blue: #3bbfce;
$margin: 16px;
.content-navigation {
border-color: $blue;
color:
darken($blue, 9%);
}
.border {
padding: $margin / 2;
margin: $margin / 2;
border-color: $blue;
}
Au-delà de variables, il offre la possibilité d'imbriquer des sélecteurs, garder les choses logiquement regroupées:
table.hl {
margin: 2em 0;
td.ln {
text-align: right;
}
}
li {
font: {
family: serif;
weight: bold;
size: 1.2em;
}
}
Il y a plus: mixin qui agissent un peu comme des fonctions, et la possibilité d'hériter d'un sélecteur à partir d'un autre. C'est très astucieux et très utiles.
Si vous codez en Ruby on Rails, ça va encore compiler automatiquement à CSS pour vous, mais il y a aussi un objectif général de compilateur qui peut le faire pour vous sur demande.
Vous n'êtes pas le premier à vous demander et la réponse est non. Elliotte a un bon discours sur ce sujet: http://cafe.elharo.com/web/css-repeats-itself/ . Vous pouvez utiliser JSP, ou son équivalent, pour générer le CSS au moment de l'exécution.