Comment créer des dégradés CSS

· 5 min de lecture

Les dégradés CSS vous permettent de créer des transitions de couleurs fluides sans fichiers image. Ils sont plus légers que les images, s'adaptent parfaitement à n'importe quelle taille d'écran et sont faciles à personnaliser. Un dégradé décoratif typique économise 20-100 Ko par rapport à un JPG ou PNG équivalent, et s'adapte à n'importe quelle résolution sans perte de qualité.

Types de dégradés CSS

Dégradé linéaire : les couleurs passent en ligne droite (de haut en bas, de gauche à droite, ou à n'importe quel angle).

background: linear-gradient(135deg, #667eea, #764ba2);

Dégradé radial : les couleurs rayonnent vers l'extérieur depuis un point central selon un motif circulaire ou elliptique.

background: radial-gradient(circle, #667eea, #764ba2);

Dégradé conique : les couleurs tournent autour d'un point central, comme une roue chromatique.

background: conic-gradient(from 0deg, #667eea, #764ba2, #667eea);

Comment créer des dégradés visuellement

  1. Sélectionnez le type de dégradé : choisissez linéaire ou radial et définissez l'angle ou la position.
  2. Ajoutez des arrets de couleur : cliquez pour ajouter des couleurs à différentes positions le long du dégradé. Ajustez chaque couleur et sa position.
  3. Copiez le CSS : copiez le code généré et collez-le dans votre feuille de style.

Utiliser un générateur visuel est plus rapide que d'écrire la syntaxe de dégradé à la main, surtout lorsque vous expérimentez avec plusieurs arrets de couleur.

Une brève histoire des dégradés CSS

Avant l'existence des dégradés CSS, les concepteurs Web devaient utiliser des images d'arrière-plan pour tout effet de dégradé : carreler un GIF à une seule colonne horizontalement, ou découper un PSD Photoshop en plusieurs JPG. Cela fonctionnait mais ajoutait du poids de fichier, des requetes réseau et de la pixellisation lors du zoom.

WebKit a ajouté la première implémentation -webkit-gradient() dans Safari 4 (juin 2009) avec une syntaxe verbeuse et difficile à lire. Firefox 3.6 (janvier 2010) a suivi avec -moz-linear-gradient(). Le groupe de travail CSS a standardisé linear-gradient() et radial-gradient() sans préfixe dans CSS Image Values Level 3 (2012), à ce moment-là les préfixes de navigateur ont commencé à disparaitre.

Les dégradés coniques (conic-gradient()) sont arrivés beaucoup plus tard, d'abord dans Chrome 69 (septembre 2018) et atteignant tous les navigateurs majeurs avec Safari 12.1 (mars 2019). Ils permettent des motifs visuels qui étaient auparavant impossibles sans images : graphiques en secteurs, roues chromatiques, échiquiers, motifs en éventail.

Les dégradés CSS sont désormais considérés comme des fonctionnalités de base des navigateurs. Presque n'importe quel effet de dégradé que vous pourriez souhaiter est réalisable en CSS, sans images ni JavaScript nécessaires.

Motifs de dégradé courants

Fond de section héros : un dégradé subtil à deux couleurs ajoute de la profondeur sans distraire du texte.

background: linear-gradient(135deg, #0f172a, #1e3a5f);

Mise en valeur de bouton : un léger dégradé donne aux boutons un aspect tridimensionnel.

background: linear-gradient(180deg, #3b82f6, #2563eb);

Superposition sur images : une superposition en dégradé améliore la lisibilité du texte sur les photos.

background: linear-gradient(to bottom, transparent, rgba(0,0,0,0.7));

Bordure d'accent : utilisez un dégradé comme bordure pour un intéret visuel.

border-image: linear-gradient(90deg, #667eea, #764ba2) 1;

Dégradé en maillage animé : empilez plusieurs dégradés radiaux et animez les positions.

background:
  radial-gradient(at 20% 30%, #667eea 0%, transparent 50%),
  radial-gradient(at 80% 70%, #764ba2 0%, transparent 50%),
  #0f172a;

Arrière-plan effet verre : associez un dégradé à faible opacité avec un flou backdrop-filter.

background: linear-gradient(135deg, rgba(255,255,255,0.1), rgba(255,255,255,0.05));
backdrop-filter: blur(10px);

Positionnement des arrets de couleur

Par défaut, les arrets de couleur sont uniformément répartis. Vous pouvez remplacer leurs positions pour controler où chaque couleur apparait :

/* Jaune au milieu 60%, s'estompant en rouge sur les bords */
background: linear-gradient(90deg, red 0%, yellow 20%, yellow 80%, red 100%);

Vous pouvez également utiliser des arrets durs pour créer des rayures ou des motifs géométriques sans anticrénelage :

/* Rayures à deux couleurs sans transition */
background: linear-gradient(45deg, #667eea 50%, #764ba2 50%);

L'astuce consiste à placer deux arrets de couleur à la meme position. Le navigateur n'interpole pas entre eux, produisant un bord net.

Quand utiliser des dégradés vs couleurs unies vs images

Un motif courant consiste à superposer les trois : une base de couleur unie, une superposition de dégradé CSS et une image de texture à faible opacité par-dessus.

Pièges courants

Conseils

Confidentialité

Le générateur de dégradé CSS fonctionne entièrement dans votre navigateur. Les couleurs que vous choisissez, les configurations de dégradé avec lesquelles vous expérimentez et le CSS que vous générez ne quittent jamais votre appareil. Il n'y a pas de télémétrie, pas de suivi d'utilisation, pas de téléversement de vos choix de conception. Pour les outils utilisés pendant l'exploration de conception, cela compte : les couleurs et les motifs que vous essayez peuvent révéler les futures orientations de marque, les thèmes de produits non annoncés ou les travaux de clients sous NDA. La génération exclusivement basée sur le navigateur garde tout cela sur votre machine.

Questions fréquentes

Les dégradés CSS fonctionnent-ils dans tous les navigateurs ?

Oui. Les dégradés linéaires et radiaux sont pris en charge dans tous les navigateurs modernes, y compris Chrome, Firefox, Safari et Edge. Les dégradés coniques ont un support un peu plus récent mais fonctionnent dans toutes les versions actuelles.

Puis-je utiliser plus de deux couleurs ?

Oui. Les dégradés CSS acceptent autant de points de couleur que vous voulez. Chaque point définit une couleur et une position le long du dégradé.

Les dégradés affectent-ils les performances ?

Non. Les dégradés CSS sont rendus par le navigateur et sont bien plus légers que des fichiers images. Ils s'adaptent parfaitement à n'importe quelle taille d'écran sans téléchargement supplémentaire.

Peut-on animer un dégradé ?

Pas directement avec une transition CSS sur la propriété background, mais vous pouvez animer background-position ou utiliser des propriétés personnalisées CSS avec @property pour créer des animations de dégradé fluides.