Maison > interface Web > tutoriel CSS > Comment puis-je effectuer une transition de dégradés linéaires CSS sur un bouton ?

Comment puis-je effectuer une transition de dégradés linéaires CSS sur un bouton ?

Barbara Streisand
Libérer: 2024-10-31 01:33:29
original
902 Les gens l'ont consulté

How Can I Transition CSS Linear Gradients on a Button?

Transitions CSS avec dégradés linéaires

Un utilisateur rencontre des difficultés pour appliquer des transitions à l'arrière-plan d'un bouton, créé à l'aide d'un dégradé linéaire CSS . Leur code est le suivant :

<code class="css">a.button {
  background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,@green), color-stop(100%,#a5c956));
  -webkit-transition: background 5s linear;
}

a.button:hover {
  -webkit-gradient(linear, left top, left bottom, color-stop(0%,@greenhover), color-stop(100%,#89af37))
}</code>
Copier après la connexion

Problème :La transition ne fonctionne pas sur le dégradé de fond du bouton.

Solution :

Malheureusement, les transitions CSS ne peuvent pas être appliquées directement aux dégradés linéaires. Par conséquent, une solution de contournement est nécessaire :

  1. Créez un élément supplémentaire avec le dégradé souhaité.
  2. Positionnez l'élément derrière le bouton (en utilisant un z-index négatif) et couvrez la même zone.
  3. Définissez l'opacité initiale de l'élément de dégradé sur 0.
  4. Utilisez la transition CSS sur la propriété opacity pour faire apparaître progressivement l'élément de dégradé au survol.
<code class="css">a.button {
  position: relative;
  z-index: 9;
  ... (rest of the CSS)

  background: linear-gradient(top, green, #a5c956);
}

.button-helper {
  position: absolute;
  z-index: -1;
  ... (rest of the CSS)

  background: linear-gradient(top, lime, #89af37);
  opacity: 0;
  -webkit-transition: opacity 1s linear;
  transition: opacity 1s linear;
}

a.button:hover .button-helper {
  opacity: 1;
}</code>
Copier après la connexion
<code class="html"><a href="#" class="button">
  <span class="button-helper"></span>
  button
</a></code>
Copier après la connexion

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal