web-dev-qa-db-fra.com

opacité de transition css de la couleur d'arrière-plan

à la recherche d'un indice, comment utiliser l'opacité dans la couleur de fond avec transition?

J'utilise la fonction rgba(), mais la transition ne fonctionne pas en survol.

.bx{
  background:rgba(255,0,0,0.5);
  width:100px; height:100px;
  position:relative;
  transition: opacity .5s ease-out;
  -moz-transition: opacity .5s ease-out;
  -webkit-transition: opacity .5s ease-out;
  -o-transition: opacity .5s ease-out;
}

.bx:hover{
  background:rgba(255,0,0,1);
}

.t{
  position:absolute; 
  bottom:0px;
}

HTML

<div class="bx"><div class="t">text</div></div>

Toute idée, comment puis-je utiliser la transition pour .bx?

13
faisaljanjua

En fait, opacity et rgba() sont complètement différents.

Puisque vous utilisez la rgba() comme couleur d'arrière-plan par la propriété background, vous devrez utiliser background comme propriété de transition comme suit:

.bx {
  background: rgba(255,0,0,0.5);
  width:100px; height:100px;
  position: relative;

  -webkit-transition: background .5s ease-out;
  -moz-transition: background .5s ease-out;
  -o-transition: background .5s ease-out;
  transition: background .5s ease-out;
}

.bx:hover {
  background: rgba(255,0,0,1);
}

Démo JSBin.

23
Hashem Qolami