Accueil

Traduction

Tutoriel CSS - sommaire

Tutoriel CSS3 - recherche

L'auteur : Patrick Darcheville

Vous pouvez me contacter via Facebook pour questions & suggestions : Page Facebook relative à mon site

CSS : les dégradés linéaires et radiaux avec CSS3

Vous savez remplir une boite avec une couleur de fond unie ou avec une image.
Sachez qu'il est désormais de définir en guise de fond un dégradé (radial ou linéaire).

Un exemple de dégradé complexe

Non ce superbe ciel azur n'est pas une image réalisée avec un logiciel de dessin tel paint mais un dégradé radial produit uniquement avec du CSS !

Des dégradés radiaux simples

Commençons par les dégradés radiaux simples.
Le dégradé rayonne à partir d'un point.

Le code CSS et HTML correspondant

Commentaire du code

Les boîtes DIV deviennent de type inline-block de façon à ce qu'elles se positionnent les unes à côté des autres (tant qu'il y a de la place) et non plus les unes en dessous des autres.
Les DIV affectés de la classe "arrondi" deviennent des ronds grâce à border-radius : moitié du côté du carré.
Sauf précision contraire les différentes couleurs se partagent de façon égale le rayon du dégradé;
Par défaut le dégradé part du centre de la boîte.
Comme vous le constatez, les couleurs peuvent être notées via leur nom ou leur code (héxadécimal, rgb, rgba).

Dégradés linéaires simples

Un dégradé linéaire a un axe.

Le code CSS & HTML correspondant

Commentaire

Le premier argument de la fonction linear-gradient est l'axe du dégradé exprimé sous forme d'un angle ou d'un mot (top, right, bottom, etc.) et précédé de "to".
Les arguments suivants de la fonction linear-gradient sont les couleurs du dégradé (au moins deux couleurs).

Dégradés radiaux complexes

Abordons maintenant des dégradés radiaux plus sophistiqués.

Exemple 1

Nous avons supposé que la forme du dégradé radial était circulaire et que le dégradé partait du centre de la boite.
Or un dégradé radial peut être de forme elliptique et le dégradé peut partir d'un autre point que le centre de la boite.
Ci-dessous un coucher de soleil !

Le code HTML et CSS correspondant :

Admettez que c'est bluffant ; une seule instruction HTML (avec une règle de style en ligne) pour réaliser ce superbe dégradé radial.

L'argument relatif à la portée du dégradé ne concerne que les dégradés radiaux (fonction : radial-gradient).

Exemple 2

Reprenons le thème présenté en début de page : le superbe ciel d'été.

Le code est très simple et court :

Il s'agit d'un dégradé radial circulaire qui part du centre de la boite et qui comprend trois couleurs.

Mais revenons sur le premier argument : porté du dégradé.

Ne confondez pas white et transparent

En effet dans la liste des couleurs vous pouvez employer le terme "transparent" (comme en français).

Code CSS et HTML d'un page web

Les deux dégradés radiaux sont identiques sauf la dernière couleur : "white" dans le premier et "transparent" dans le second.
Attention le background de la boite parente (élément "article") est "palegreen".

Le rendu dans un Iframe

Remarquez bien la différence entre les deux dégradés.
Si la fond de la boite parente avait été "white", le rendu des deux dégradés aurait été identique.

Dégradés répétifs

Tant pour les dégradés radiaux que linéaires le motif du dégradé peut être répété.
En effet il existe les propriétés repeating-linear-gradiant & repeating-radial-gradiant.
L'emploi des ces deux propriétés est encore une fois déroutante de simplicité.

Un dégradé linéaire répétitif

Le rendu

Le code

Par défaut un dégradé linéaire va du haut vers le bas ; c'est ce que nous voulons donc le premier paramètre (axe du dégradé) peut être omis.
La commande devient "repeating-linear-gradient".
Le dégradé a une portée de 100px or la hauteur de la boite étant de 400 pixels, le motif est donc répété 4 fois !

Un dégradé radial répétitif

Le rendu est assez psychanalytique

Le code correspondant

Il s'agit d'un dégradé répétitif radial (et plus précisément elliptique) qui démarre du centre qui s'applique à 20% et est donc répété 5 fois.

Combiner border-image et un dégradé

Un superbe tableau impressionniste.

Le code de la page web

Emploi des propriétés préfixées border-image pour encadrer un dégradé radial.

Aperçu dans un Iframe