CSS in sé non supporta un selettore mousein
o mouseout
.
Il selettore :hover
si applica all'elemento mentre il mouse è sopra di esso, aggiungendo lo stile quando il mouse entra e rimuove lo stile quando il mouse lascia.
L'approccio più vicino è definire gli stili da inserire in mouseout
all'interno degli stili predefiniti (non al passaggio del mouse). Quando si passa il mouse sopra l'elemento, gli stili all'interno di hover
avranno effetto, emulando un mousein
e quando si sposterà il mouse dall'elemento, gli stili predefiniti avranno di nuovo effetto, emulando mouseout
.
Ecco una example, tratto da here:
div {
background: #2e9ec7;
color: #fff;
margin: 0 auto;
padding: 100px 0;
-webkit-transition: -webkit-border-radius 0.5s ease-in;
-moz-transition: -moz-border-radius 0.5s ease-in;
-o-transition: border-radius 0.5s ease-in;
-ms-transition: border-radius 0.5s ease-in;
transition: border-radius 0.5s ease-in;
text-align: center;
width: 200px;
}
div:hover {
background: #2fa832;
-webkit-border-radius: 100px;
-moz-border-radius: 100px;
border-radius: 100px;
-webkit-transition: all 1s ease;
-moz-transition: all 1s ease;
-o-transition: all 1s ease;
-ms-transition: all 1s ease;
transition: all 1s ease;
-webkit-transform: rotate(720deg);
-moz-transform: rotate(720deg);
-o-transform: rotate(720deg);
-ms-transform: rotate(720deg);
transform: rotate(720deg);
}
I transition
s definite per lo stile div:hover
avranno effetto quando il mouse entra (e hover
è applicato). I transition
s per lo stile div
avranno effetto quando il mouse lascia (e hover
viene rimosso). Ciò comporta che le transizioni mousein
e mouseout
siano diverse.
Ottima soluzione per me. – Huw