Blog
20/04/2017

Propriétés personnalisées CSS ou Custom Properties

C’est désormais une réalité. Nous pouvons enfin profiter des Propriétés Personnalisées ou CSS Custom Properties !

Mais avant tout, commençons par un bon <h2>, suivi d’un <p> pour résumer le sujet.

Les CSS Custom Properties ou Propriétés Personnalisées

Ou comment faire de la magie dans une feuille de styles CSS.

Les Propriétés Personnalisées CSS représentent un « nouveau » concept dans l’utilisation des feuilles de style. Pour résumer, il s’agit de variables accessibles directement dans le document CSS, et même depuis Javascript, de façon NATIVE.

Pourquoi ce « nouveau » entre guillemets ? Vous connaissez sûrement les préprocesseurs CSS. Ils ont longtemps été incontournables, mais avec l’arrivée des Custom Properties et la prise en charge croissante par les navigateurs, ils sont voués à disparaître à terme. En fin d’article, vous trouverez un tableau de compatibilité, mais sachez déjà que près de 70 % des utilisateurs disposent d’un navigateur compatible avec les Propriétés Personnalisées.

 

CSS et Propriétés Personnalisées

Pour bien comprendre l’intérêt par rapport à une feuille de styles classique, prenons un exemple sans Custom Properties, puis voyons comment le réécrire en utilisant ces variables.

Imaginons que nous voulons un body avec une couleur de fond spécifique, que nous réutiliserons ensuite pour la couleur du texte d’un bloc, et inversement, la couleur du texte du body deviendra la couleur de fond de ce bloc.

Le bloc .capa1 aura un padding de 20px, valeur que nous utiliserons aussi pour le margin-top de .capa2.


body{
     background-color:#1b1b1b;
     color:#fff;
}
.capa1{
     padding:20px;
     color:#1b1b1b;
     background-color:#fff;
}
.capa2{
     margin-top:20px;
}

Reprenons le même exemple, cette fois en utilisant les Propriétés Personnalisées.


:root{
     --color1:#1b1b1b;
     --color2:#fff;
     --mainSpacing:20px;
}
body{
     background-color:var(--color1);
     color:var(--color2);
}
.capa1{
     padding:var(--mainSpacing);
     color:var(--color1);
     background-color:var(--color2);
}
.capa2{
     margin-top:var(--mainSpacing);
}

Avec :root, on déclare les variables, qui deviennent accessibles dans tout le document CSS. On utilise deux tirets — pour définir une variable et sa valeur. Pour les utiliser, il suffit d’appeler var(–VARIABLE);.

Imaginez maintenant l’avantage sur une feuille de styles de plus de 1000 lignes : il suffit de modifier une seule valeur pour qu’elle soit répercutée partout dans le CSS.

 

Aller plus loin

Ou même beaucoup plus loin. Car les CSS Custom Properties permettent de faire des calculs, d’effectuer des opérations conditionnelles et de définir des valeurs par défaut si une variable n’est pas définie. On dirait du Javascript, non ? Et pourtant, tout cela se fait directement dans la feuille CSS.

On peut additionner, multiplier, comparer différentes valeurs et appliquer l’une ou l’autre selon la condition.


.caja{
     /*Si la variable1 n’est pas définie, 10px seront appliqués*/
     margin-top:var(--variable1, 10px);

     /*On peut aussi utiliser une variable comme valeur par défaut*/
     padding-top:var(--variable1,var(--variable2));

    /*On peut additionner, soustraire, multiplier et diviser (*attention à l’espace pour l’addition et la soustraction)*/
     padding-top:calc(var(--variable1) + 10px);
     height:calc(var(--variable1) - 5px);
     line-height:calc(var(--variable1) * 2);
     width:calc((var(--variable1) - 5px)/2);
     
}

Autres exemples :


:root{
     /*On peut créer un texte à insérer plus tard dans un :before*/
     --texto:"Cliquez pour voir";
}
.caja:before{
     content:var(--text);
}
.caja2:before{
     /*On peut ajouter du texte après la variable déclarée (par exemple, un lien vers un projet)*/
     content:var(--text)' notre projet complet';
}
.caja2:before{
     /*Ou l’utiliser pour un lien vers une actualité*/
     content:var(--text)' notre actualité';
}

Exemple conditionnel :


:root{
     /*Accessible via Javascript*/
     --variableCond: if(x > 5) this.width = 10;
}

 

Compatibilité navigateur

Comme vous pouvez le voir, quasiment tous les navigateurs sont compatibles… Sauf Explorer ! Quelle surprise, je ne m’y attendais pas ! C’est l’occasion de se rappeler ces merveilleuses années où il fallait jongler avec Explorer 6.

Heureusement, aujourd’hui, moins de 4 % des utilisateurs sont encore sur Explorer. Rien de dramatique.

Au total, 70,9 % des internautes utilisent un navigateur compatible avec les Custom Properties. Un chiffre très élevé.

propiedades personalizadas o custom properties

http://caniuse.com/#feat=css-variables

Vous avez aimé ?
Abonnez-vous
Articles connexes
On commence à travailler
sur votre projet ?

Nous analysons votre situation actuelle et définissons la prochaine étape.

Contactez maintenant
Notre site utilise des cookies pour collecter des informations sur votre appareil et votre activité de navigation. Nous utilisons ces données pour améliorer le site, assurer la sécurité et fournir un contenu personnalisé. Vous pouvez gérer vos préférences en matière de cookies en cliquant ici.
Accepter les cookies Installation Rejeter les cookies
Informations de base sur les cookies
Ce site Web utilise des cookies et/ou des technologies similaires qui stockent et récupèrent des informations lorsque vous naviguez. De manière générale, ces technologies peuvent avoir des finalités très différentes, comme par exemple vous reconnaître en tant qu'utilisateur, obtenir des informations sur vos habitudes de navigation ou personnaliser la manière dont les contenus sont affichés. Nos utilisations spécifiques de ces technologies sont décrites ci-dessous. Par défaut, tous les cookies sont désactivés, à l'exception des cookies techniques, nécessaires au fonctionnement du site. Si vous souhaitez plus d'informations ou exercer vos droits en matière de protection des données, vous pouvez consulter notre Política de cookies".
Accepter les cookiesInstallation
Cookies techniques nécessaires Toujours actif
Les cookies techniques sont strictement nécessaires au fonctionnement de notre site Internet et à votre navigation. Ces types de cookies sont ceux qui, par exemple, nous permettent de vous identifier, vous donnent accès à certaines parties restreintes de la page si nécessaire, ou mémorisent différentes options ou services déjà sélectionnés par vous, comme vos préférences de confidentialité. Ils sont donc activés par défaut et votre autorisation n’est pas nécessaire. En configurant votre navigateur, vous pouvez bloquer ou vous alerter de la présence de ce type de cookies, même si ce blocage affectera le bon fonctionnement des différentes fonctionnalités de notre site Internet.
Cookies de análisis
Las cookies de análisis son las utilizadas para llevar a cabo el análisis anónimo del comportamiento de los usuarios de la web y que permiten medir la actividad del usuario y elaborar perfiles de navegación con el fin objetivo de mejorar los sitios web.
Cookies publicitarias
Las cookies publicitarias permiten la gestión de los espacios publicitarios de la web. Además, estas cookies pueden ser de publicidad personalizada y permitir así la gestión de los espacios publicitarios de la web en base al comportamiento y hábitos de navegación de usuario, de donde se obtiene su perfil y permiten personalizar la publicidad que se muestra en el navegador del usuario u otros perfiles y redes sociales del usuario.
Confirmer les préférences
Contactez-nous
Formulaire

Racontez-nous
votre projet

Indiquez le contexte général de votre organisation et la portée prévue du projet.
Code Barcelona, ​​​​en tant que responsable du traitement de vos données, les traitera afin de répondre à la question et/ou à la demande que vous nous adressez via ce formulaire de contact. Vous pouvez exercer vos droits d'accès, de rectification, de suppression, ainsi que d'autres droits en consultant les informations complémentaires détaillées sur la Protection des Données dans notre politique de confidentialité.
Title
Popupcontent
Analyse de votre situation numérique

Nous examinerons votre situation numérique actuelle. Nous vous contacterons pour comprendre votre contexte et évaluer ensemble les domaines à analyser, puis nous préparerons un audit avec les points clés et les recommandations.

Code Barcelona, ​​​​en tant que responsable du traitement de vos données, les traitera afin de répondre à la question et/ou à la demande que vous nous adressez via ce formulaire de contact. Vous pouvez exercer vos droits d'accès, de rectification, de suppression, ainsi que d'autres droits en consultant les informations complémentaires détaillées sur la Protection des Données dans notre politique de confidentialité.
Aceptar