Gradient CSS: cours de gradient de crash
Dans le passé, la plupart des sites Web ont utilisé des images pour créer de belles UIS. Grâce à divers attributs CSS, cette tendance a changé. Ce tutoriel vous aidera à apprendre les gradients CSS. Vous pouvez remplacer divers éléments d'interface utilisateur ainsi que des images en arrière-plan à l'aide de gradients. Avec un peu de pratique, vous pouvez créer des modèles complexes sans utiliser d'images.
Les gradients CSS sont bien pris en charge dans le navigateur, vous permettant de créer des transitions visuelles lisses entre deux couleurs spécifiées ou plus. Les gradients vous permettent de contrôler de nombreux paramètres tels que la taille, l'angle, la position d'arrêt de couleur du gradient, etc.
Dans cet article, je présenterai des gradients de répétition linéaires, radiaux et plus récents.
Le gradient linéaire est le gradient le plus utilisé. Il ressemble à ceci, la valeur entre parenthèses indique le type de valeur:
<code>.example { background: linear-gradient( [方向], [第一种颜色], [第二种颜色], [更多颜色 ...] ); }</code>
Si vous ne spécifiez pas l'orientation, le gradient commence en haut, avec toute l'intensité de la première couleur, puis transitions en douceur vers la dernière couleur lorsque vous atteignez le fond.
Pour plus de contrôle, vous pouvez spécifier la direction du gradient. Vous pouvez utiliser des termes simples (tels que gauche, en bas à droite) pour l'implémenter ou spécifier des angles. L'extrait de code suivant crée un arrière-plan de gauche à droite:
<code>.example { background: linear-gradient(to right, hotpink, lightpink); }</code>
Affichez l'exemple sur Codepen: Gradient linéaire de gauche à droite
Les navigateurs plus anciens prennent en charge les syntaxes légèrement différentes et nécessitent des préfixes spécifiques au navigateur. Dans les navigateurs plus anciens, vous spécifiez un point de départ au lieu d'un point final. Le code de gradient CSS3 de l'ancien navigateur est le suivant:
<code>.example { background: -prefix-linear-gradient(left, red, blue); }</code>
Si vous avez besoin de créer des gradients à des angles spécifiques, vous pouvez spécifier directement un angle. Le code suivant crée un gradient de 60 degrés:
<code>.example { background: linear-gradient(60deg, red, blue); }</code>
Traitez la ligne du bas en haut comme zéro, et si la ligne se déplace dans le sens des aiguilles d'une montre, l'angle augmente. Par exemple:
<code>.example { background: linear-gradient(0deg, red, blue); }</code>
Cela créera un dégradé avec du rouge en bas et du bleu en haut. Et le code suivant créera un dégradé horizontal avec du rouge à gauche et du bleu à droite:
<code>.example { background: linear-gradient( [方向], [第一种颜色], [第二种颜色], [更多颜色 ...] ); }</code>
Affichez l'exemple sur Codepen: gradients linéaires avec différents angles
Si vous souhaitez changer de couleur de manière inégale, vous pouvez spécifier la position d'arrêt de couleur vous-même. La position d'arrêt de couleur peut être spécifiée en pourcentage ou une longueur absolue. Vous n'avez pas besoin de spécifier une position d'arrêt pour les première et dernière couleurs. Une couleur donnée a toute son intensité à sa position de couleur spécifiée. Voici un exemple:
<code>.example { background: linear-gradient(to right, hotpink, lightpink); }</code>
Si aucune position d'arrêt n'est spécifiée, les couleurs seront également espacées.
Affichez l'exemple sur Codepen: Gradient linéaire avec arrêts de couleur
Les gradients radiaux sont moins courants et plus complexes. Ceci est la syntaxe du gradient radial:
<code>.example { background: -prefix-linear-gradient(left, red, blue); }</code>
Lorsque rien n'est spécifié, la forme par défaut est une ellipse, la taille est l'angle le plus éloigné et la position est le centre. La position d'arrêt de couleur est spécifiée exactement de la même manière que le gradient linéaire. L'extrait de code suivant dessinera un gradient radial elliptique:
<code>.example { background: linear-gradient(60deg, red, blue); }</code>
Affichez l'exemple sur Codepen: Exemple de gradient radial
La taille du gradient radial est déterminée par quatre valeurs: côté le plus proche, côté le plus éloigné, le plus proche et le plus proche du coin. Lorsqu'elles sont utilisées avec des valeurs de forme, ces mots clés définissent les formes. La forme du gradient fonctionne lorsque le gradient continuera de s'étendre infiniment au-delà des limites des éléments où le gradient est appliqué.
Regardons un exemple pour rendre cela plus clair. Nous créerons quatre gradients sur quatre éléments:
<code>.example { background: linear-gradient(0deg, red, blue); }</code>
Dans le CSS suivant, j'ai utilisé quatre valeurs de mots clés:
<code>.example { background: linear-gradient(90deg, red, blue); }</code>
Affichez l'exemple sur Codepen: gradients radiaux avec des valeurs de mots clés de taille différente
Notez qu'il existe des différences subtiles mais évidentes entre chaque gradient pendant la démo.
La position d'arrêt de couleur dans le gradient radial est similaire à un gradient linéaire. Notez que je spécifie également la position du centre du cercle en pourcentage. Les valeurs de pixels peuvent également être utilisées si vous le souhaitez. Voici un extrait de code pour le démontrer:
<code>.example { background: linear-gradient( to bottom, yellow, red 70%, black ); }</code>
Affichez l'exemple sur Codepen: Gradient radial avec arrêts de couleur
Les gradients de répétition sont similaires à d'autres gradients et prennent les mêmes paramètres. La seule différence est qu'ils répétent la position d'arrêt de couleur infiniment. La position de la couleur est décalée en fonction des multiples de la longueur du gradient de base. Comme vous le verrez, cette répétition nous permet de créer des modèles et des arrière-plans complexes.
Une chose à noter est que lorsque vous utilisez plusieurs gradients de répétition sur le même élément, le premier gradient sera affiché en haut. Bien sûr, cela signifie que si chaque couleur du premier gradient est 100% opaque (c'est-à-dire pas de transparence), les autres gradients de la pile ne seront pas visibles.
Pour créer un gradient linéaire répétitif de base, nous pouvons effectuer ce qui suit:
<code>.example { background: linear-gradient( [方向], [第一种颜色], [第二种颜色], [更多颜色 ...] ); }</code>
Affichez l'exemple sur Codepen: Répéter le gradient linéaire
Pour changer la couleur soudainement, vous devez spécifier deux couleurs. Pour créer un motif subtil, vous ajoutez simplement un autre dégradé, tout comme l'ajout d'images d'arrière-plan:
<code>.example { background: linear-gradient(to right, hotpink, lightpink); }</code>
Cette fois, j'ai mis le gradient à transparent au lieu de blanc. Je vous suggère d'essayer différentes couleurs d'arrêt des positions et des angles.
Affichez l'exemple sur Codepen: Répéter le gradient linéaire avec plusieurs gradients
Les gradients radiaux répétés sont similaires aux gradients radiaux standard. Voici le code pour créer un gradient radial répétant simple:
<code>.example { background: -prefix-linear-gradient(left, red, blue); }</code>
Affichez l'exemple sur Codepen: Répéter le gradient radial
Vous pouvez également superposer plusieurs gradients radiaux répétitifs comme ceci:
<code>.example { background: linear-gradient(60deg, red, blue); }</code>
Affichez l'exemple sur Codepen: Répéter le gradient radial avec plusieurs gradients
Dans ce tutoriel, j'essaie de couvrir tous les aspects des gradients CSS. Dans de nombreux cas où des modèles simples sont nécessaires, les gradients peuvent éliminer la nécessité d'utiliser des images. Bien sûr, alors que les gradients évitent les demandes HTTP supplémentaires d'images, elles peuvent toujours causer des problèmes de performance et doivent être utilisées avec prudence.
Dans CSS, les gradients sont utilisés pour créer des transitions lisses entre deux couleurs spécifiées ou plus. Le gradient linéaire transit la couleur le long de la ligne, en commençant d'un point à la fin d'un autre point. La direction du gradient peut être définie par des angles (par exemple "à droite" ou "45deg") ou en déclarant le point de départ (par exemple "en haut à droite").
En revanche, le gradient radial transitions dans un motif circulaire ou ovale à la couleur. Ils commencent à un point et se développent vers l'extérieur, créant une forme circulaire ou ovale. Divers paramètres peuvent être utilisés pour contrôler la forme, la taille et la position du gradient radial.
CSS fournit un moyen de créer des gradients répétés en utilisant des fonctions répétitives-linéaire-gradient () et répétitive-radial-gradient (). Ces fonctions fonctionnent de manière similaire à leurs homologues non répétitifs, mais ils répètent indéfiniment le motif de gradient spécifié, créant un motif de répétition transparent. La syntaxe de ces fonctions est similaire à celle de linéaire-gradient () et radial-gradient (), mais vous devez spécifier la position d'arrêt de couleur dans la façon dont vous créez un motif répétitif.
La position d'arrêt de couleur est la couleur que vous souhaitez rendre une transition lisse et les points que chaque couleur doit apparaître dans le dégradé. Dans un gradient CSS, vous pouvez spécifier autant d'arrêts de couleur que vous le souhaitez. Chaque position d'arrêt de couleur est définie par une valeur de couleur suivie d'une longueur ou d'un pourcentage facultatif. Si vous ne spécifiez pas la longueur ou le pourcentage, les positions d'arrêt de couleur seront également espacées.
Le premier paramètre de la fonction linéaire-gradient () peut être utilisé pour contrôler la direction du gradient linéaire. Ce paramètre peut être un angle (par exemple "45deg") ou un mot-clé qui spécifie le point de départ, tel que "à droite" ou "en haut à gauche". Si vous ne spécifiez pas la direction, le gradient ira de haut en bas.
Le premier paramètre de la fonction radiale-gradient () peut être utilisé pour contrôler la forme et la taille du gradient radial. Ce paramètre peut être un mot-clé de forme ("cercle" ou "ellipse"), suivi d'un mot-clé de taille facultatif ("côté le plus proche", "plus éloigné", "plus proche", "le plus éloigné") et / / ou emplacement. Si vous ne spécifiez pas de forme, le gradient devient un ovale. Si vous ne spécifiez pas la taille, le gradient s'étendra au côté le plus proche.
Oui, vous pouvez utiliser la transparence dans les gradients CSS en utilisant les valeurs de couleur RGBA. La valeur de couleur RGBA est spécifiée par: RGBA (rouge, vert, bleu, alpha). Le paramètre alpha est un nombre entre 0,0 (entièrement transparent) et 1,0 (entièrement opaque).
Pour créer un dégradé avec des changements de couleur dure, vous pouvez utiliser plusieurs positions d'arrêt de couleur avec la même position. Par exemple, "bleu, vert 50%, vert 50%, jaune" crée un gradient qui passe soudainement du bleu au vert au milieu et du vert au jaune à la fin.
Oui, vous pouvez utiliser les gradients comme image de fond dans CSS. La fonction de gradient renvoie le type de données d'image CSS et peut être utilisée partout où l'image peut être utilisée. Par exemple, vous pouvez utiliser les gradients comme image d'arrière-plan pour les éléments ou dans le cadre de plusieurs arrière-plans.
CSS ne prend pas en charge les gradients d'animation directs. Cependant, vous pouvez obtenir des effets similaires en animant la position d'arrière-plan ou la taille de fond des éléments avec des gradients répétés, ou en utilisant des gradients comme masque sur le contenu d'animation.
Les gradients CSS sont largement pris en charge par tous les navigateurs modernes, notamment Chrome, Firefox, Safari, Edge et Internet Explorer 10 et plus tard. Cependant, pour les navigateurs plus âgés qui ne soutiennent pas les gradients, vous devez fournir des couleurs alternatives.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!