Que sont les variables CSS et comment les utiliser

Publié: 2022-02-16

Lors de l'écriture du code CSS pour votre site, vous pouvez utiliser les propriétés personnalisées CSS (variables) pour accélérer le processus de développement. Vous pouvez utiliser des variables pour définir des propriétés (taille, couleur), qui peuvent ensuite être appliquées à plusieurs éléments.

De cette façon, il est possible d'avoir plus de contrôle sur le code et la conception. La modification de la valeur d'une variable à un endroit remplace la valeur de cette propriété partout où elle est invoquée.

Cet article expliquera comment utiliser les variables CSS et quelques applications pratiques.

Commençons!

Déclarer une variable

Les variables peuvent avoir une portée globale ou locale. Pour définir une variable globalement, vous utilisez le sélecteur :root.

 :root { --base-font-size: 1.1rem; }
OUVRIR DANS POPUP
 :root { --base-font-size: 1.1rem; }

Le sélecteur :root correspond à la racine du document, c'est-à-dire <html> dans notre cas particulier.

Pour déclarer une propriété personnalisée CSS (variable), vous commencez par deux tirets (--). Les variables sont sensibles à la casse, par exemple :

--base-font-size et --Base-Font-Size sont deux variables différentes.

Pour définir une variable localement, vous utilisez le sélecteur de l'élément dans lequel vous souhaitez utiliser la variable.

 #first-container { --background: #ccc; }
OUVRIR DANS POPUP
 #first-container { --background: #ccc; }

Une fois que vous avez défini la variable, il est nécessaire de l'invoquer.


La fonction var()

La fonction var() est utilisée pour insérer la valeur de la variable CSS définie. La fonction se remplace par la valeur de la variable. Prenons un exemple :

Le code HTML

  • Copiez et collez ce code dans votre éditeur de code.
  • Enregistrez le fichier sous index.html .
 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <link rel="stylesheet" href="/style.css"> <title>CSS Variables</title> </head> <body> <div class="wrapper"> <div class="container-1"> <p class="first">Lorem ipsum dolor sit amet, consectetur adipisicing elit. Iste doloribus dolorum eaque veritatis quia quod?</p> <button type="button">Click here!</button> </div> <div class="container-2"> <p class="second">Lorem ipsum dolor sit amet consectetur adipisicing elit. Libero, dolorem. Reprehenderit mollitia quos quia qui.</p> <button type="button">Click here!</button> </div> <div class="container-3"> <p class="third">Lorem ipsum dolor sit amet consectetur adipisicing elit. Nisi dolor reprehenderit, ad sunt aperiam officiis!</p> <button type="button">Click here!</button> </div> </div> </body> </html>
OUVRIR DANS POPUP
 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <link rel="stylesheet" href="/style.css"> <title>CSS Variables</title> </head> <body> <div class="wrapper"> <div class="container-1"> <p class="first">Lorem ipsum dolor sit amet, consectetur adipisicing elit. Iste doloribus dolorum eaque veritatis quia quod?</p> <button type="button">Click here!</button> </div> <div class="container-2"> <p class="second">Lorem ipsum dolor sit amet consectetur adipisicing elit. Libero, dolorem. Reprehenderit mollitia quos quia qui.</p> <button type="button">Click here!</button> </div> <div class="container-3"> <p class="third">Lorem ipsum dolor sit amet consectetur adipisicing elit. Nisi dolor reprehenderit, ad sunt aperiam officiis!</p> <button type="button">Click here!</button> </div> </div> </body> </html>

Que sont les variables CSS et comment les utiliser

Le code CSS

  • Créez un fichier appelé style.css (dans le même répertoire que index.html ).
  • Collez le code ci-dessous et enregistrez le fichier.
 /* Global styles */ .wrapper, div { padding: 1rem; } div { margin: 1rem auto; } /* DEFINITION OF VARIABLES */ :root { /* Color palette */ --primary: #007bff; --success: #28a745; --warning: #ffc107; --white: #f9f9f9; --light-grey: #d8d8d8; /* Borders */ /* It is possible to use an already declared variable within the definition of another variable */ --border-primary: 1px solid var(--primary); --border-success: 1px solid var(--success); --border-warning: 1px solid var(--warning); } /* VARIABLES */ /* Wrapper */ .wrapper { background-color: var(--light-grey); } /* First Container */ .container-1 { /* The var() function replaces itself with the value of the variable */ border: var(--border-primary); color: var(--primary); background-color: var(--white); } .container-2 { /* The var() function replaces itself with the value of the variable */ border: var(--border-success); color: var(--success); background-color: var(--white); } .container-3 { /* The var() function replaces itself with the value of the variable */ border: var(--border-warning); color: var(--warning); background-color: var(--white); } .container-1 button { background-color: var(--primary); color: var(--white); } .container-2 button { background-color: var(--success); color: var(--white); } .container-3 button { background-color: var(--warning); color: var(--white); }< button {
border-radius: 5px; }
OUVRIR DANS POPUP
 /* Global styles */ .wrapper, div { padding: 1rem; } div { margin: 1rem auto; } /* DEFINITION OF VARIABLES */ :root { /* Color palette */ --primary: #007bff; --success: #28a745; --warning: #ffc107; --white: #f9f9f9; --light-grey: #d8d8d8; /* Borders */ /* It is possible to use an already declared variable within the definition of another variable */ --border-primary: 1px solid var(--primary); --border-success: 1px solid var(--success); --border-warning: 1px solid var(--warning); } /* VARIABLES */ /* Wrapper */ .wrapper { background-color: var(--light-grey); } /* First Container */ .container-1 { /* The var() function replaces itself with the value of the variable */ border: var(--border-primary); color: var(--primary); background-color: var(--white); } .container-2 { /* The var() function replaces itself with the value of the variable */ border: var(--border-success); color: var(--success); background-color: var(--white); } .container-3 { /* The var() function replaces itself with the value of the variable */ border: var(--border-warning); color: var(--warning); background-color: var(--white); } .container-1 button { background-color: var(--primary); color: var(--white); } .container-2 button { background-color: var(--success); color: var(--white); } .container-3 button { background-color: var(--warning); color: var(--white); }< button {
border-radius: 5px; }

Que sont les variables CSS et comment les utiliser

Il y a certaines choses à remarquer ici :

  1. La création d'une palette de couleurs est un processus simple.
  2. Il est possible d'utiliser une variable à l'intérieur de la définition d'une autre variable, comme la couleur dans la définition des variables de bordure.
  3. Les variables sont héritées, la propriété color de l'élément .container-* affecte ses enfants directs. Dans ce cas, l'élément <p>.

Pour remplacer une variable, vous la déclarez dans son conteneur, ce qui la rend plus spécifique.

  • Modifiez le code CSS :
 button { border-radius: 5px; /* Overriding a global variable */ --primary: #021b35; }
OUVRIR DANS POPUP
 button { border-radius: 5px; /* Overriding a global variable */ --primary: #021b35; } 

Que sont les variables CSS et comment les utiliser


Variables et requêtes multimédias

Les variables peuvent également être héritées et remplacées dans les requêtes média CSS.

  • Ajoutez ce code aux variables :
 :root { /* Color palette */ --primary: #007bff; --success: #28a745; --warning: #ffc107; --white: #f9f9f9; --light-grey: #d8d8d8; /* Borders */ /* It is possible to use an already declared variable within the definition of another variable */ --border-primary: 1px solid var(--primary); --border-success: 1px solid var(--success); --border-warning: 1px solid var(--warning); /* Width of the wrapper 1000px / 90% on smaller devices */ --wrapper-width: 1000px; }
OUVRIR DANS POPUP
 :root { /* Color palette */ --primary: #007bff; --success: #28a745; --warning: #ffc107; --white: #f9f9f9; --light-grey: #d8d8d8; /* Borders */ /* It is possible to use an already declared variable within the definition of another variable */ --border-primary: 1px solid var(--primary); --border-success: 1px solid var(--success); --border-warning: 1px solid var(--warning); /* Width of the wrapper 1000px / 90% on smaller devices */ --wrapper-width: 1000px; }

Nous avons défini une largeur de base pour l'élément wrapper. Nous pouvons maintenant appliquer ces variables à la propriété .wrapper width.

  • Ajoutez ce code à la fin du fichier CSS :
 .wrapper { width: var(--wrapper-width);
margin: 0 auto; }
OUVRIR DANS POPUP
 .wrapper { width: var(--wrapper-width);
margin: 0 auto; }

Que sont les variables CSS et comment les utiliser

Pour définir une requête multimédia pour les appareils avec des écrans de moins de 1 100 pixels de large, nous écrivons la requête multimédia suivante.

  • Modifiez le code CSS :
 @media screen and (max-width: 1100px) { .wrapper { --wrapper-width: 90%; } }
OUVRIR DANS POPUP
 @media screen and (max-width: 1100px) { .wrapper { --wrapper-width: 90%; } }

Que sont les variables CSS et comment les utiliser

Que sont les variables CSS et comment les utiliser

La nouvelle définition de variable dans la requête multimédia remplace sa valeur. Notez également que la variable est disponible dans le DOM, ce qui signifie qu'elle peut être récupérée et manipulée avec JS. Ce n'est pas possible avec des variables dans les préprocesseurs CSS.


Résumé

Les variables sont utiles pour organiser et gérer de petites et grandes quantités de CSS. Ils réduisent les répétitions et évitent ainsi les erreurs. Les variables CSS sont dynamiques, ce qui signifie qu'elles peuvent être modifiées lors de l'exécution. Il est facile de thématiser dynamiquement un site ou une application avec des variables CSS. Ils offrent la possibilité d'attribuer des valeurs à une propriété CSS avec un nom personnalisé. Les variables suivent les règles de cascade standard, il est donc possible de définir la même propriété à différents niveaux de spécificité.

J'espère que ce tutoriel vous a plu. Merci d'avoir lu!