J'ai ici un projet dans lequel je veux qu'une superposition apparaisse sur une image lorsque vous cliquez sur un lien pour que nous puissions lire quelques informations sur un produit. L'effet Je cherche quelque chose comme ceci:La transition ne fonctionne pas correctement avec rgba
Pour ce faire, j'ai un div avec l'information et un fond blanc à l'intérieur du div qui a l'image, comme ceci:
<div id="leftWindow">
<a href="notalink.html" id="infoButton">+ Information</a>
<div id="info" class="notVisible">
Some information about this product Some information about this product Some information about this product Some information about this product Some information about this product Some information about this product Some information about this product Some information about this product
</div>
</div>
la div avec l'info a une classe de « notVisible » et j'ai une autre classe qui a une opacité de 0,7, comme suit:
#info {
background-color: white;
transition: opacity 1.5s ease-in-out;
position: absolute;
top: 0;
left: 0;
width: 342px;
height: 516px;
padding-left: 20px;
padding-right: 20px;
padding-top: 10px;
}
.visibleIsh {
opacity: .7;
}
Lorsque vous c lèchent sur le lien, javascript permute les classes:
$(document).on('click', '#infoButton', function(e){
e.preventDefault();
$("#info").removeClass("notVisible").addClass("visibleIsh");
});
Cela fonctionne, mais le problème est que le texte perd aussi l'opacité que je ne veux pas. Pour résoudre ce problème, je l'utilise rgba au lieu de l'opacité, comme ceci:
css:
.visibleIsh {
background-color: rgba(255,255,255,.7);
}
#info {
background-color: rgba(255,255,255,1);
transition: background-color 1.5s ease-in-out;
position: absolute;
top: 0;
left: 0;
width: 342px;
height: 516px;
padding-left: 20px;
padding-right: 20px;
padding-top: 10px;
}
Et je reçois le comportement bogué vous pouvez voir dans le gif. Toute aide appréciée. Merci
Je ne vois pas buggy quoi que ce soit dans le 2ème gif. S'il vous plaît expliquer le problème. – Saurabh
il n'y a pas de transition en douceur et pas de .7 – Paul
Si je me souviens bien, vous ne pouvez pas appliquer une transition de fondu directement au texte - il ne fera pas de transition, mais disparaîtra tout à coup lorsque la transition expire. Vous devez supprimer le conteneur contenant le texte à la place. – Korgrue