J'ai créé une animation de survol à l'aide de CSS. Lorsque l'utilisateur survole le lien, le soulignement passe de la gauche à la droite et la couleur passe du noir au gris. Actuellement, comme on peut s'y attendre, lorsque l'utilisateur déplace sa souris hors du lien, la transition s'inverse pour revenir à l'état initial.
Je me demandais s'il était possible d'empêcher cette transition inverse et de faire en sorte que le soulignement revienne à la couleur noire (l'état initial) ?
Voici un jsfiddle pour travailler avec.
Toute suggestion/conseil serait le bienvenu.
a.btn--tertiary {
padding-left: 0;
padding-right: 0;
background-color: transparent;
color: #000;
border: 0;
position: relative;
padding-bottom: 5px;
text-transform: uppercase;
text-decoration: none;
font-size: 40px;
}
.btn--tertiary:before {
content: '';
height: 2px;
right: 0;
width: 100%;
background: #000;
position: absolute;
bottom: 0;
opacity: 1;
transition: width 1s cubic-bezier(0.100, 0.600, 0.350, 1.000) 0s;
z-index: 2;
border-left: 10px solid transparent;
}
.btn--tertiary:after {
content: '';
height: 2px;
left: 0;
right: auto;
width: 0%;
background: grey;
position: absolute;
bottom: 0;
transition: width 1s cubic-bezier(0.100, 0.600, 0.350, 1.000) 0.1s;
z-index: 3;
}
.btn--tertiary:hover:before,
.btn--tertiary:focus:before {
width: 0%;
border-left: 20px solid $white;
}
.btn--tertiary:hover::after,
.btn--tertiary:focus::after {
right: 0;
width: 100%;
}