.item:hover {
zoom: 1;
filter: alpha(opacity=50);
opacity: 0.5;
-webkit-transition: opacity .15s ease-in-out;
-moz-transition: opacity .15s ease-in-out;
-ms-transition: opacity .15s ease-in-out;
-o-transition: opacity .15s ease-in-out;
transition: opacity .15s ease-in-out;
}
Dlaczego to animuje krycie tylko wtedy, gdy najeżdżam kursorem, a nie wtedy, gdy zostawiam obiekt myszą?
Demo tutaj: http://jsfiddle.net/7uR8z/
Wcześniejsze
css
css-transitions
matowe
źródło
źródło
Odpowiedzi:
Stosujesz przejścia tylko do
:hover
pseudoklasy, a nie do samego elementu.Demo: http://jsfiddle.net/7uR8z/6/
Jeśli nie chcesz, aby przejście miało wpływ na
mouse-over
zdarzenie, a jedyniemouse-out
, możesz wyłączyć przejścia dla:hover
stanu:Demo: http://jsfiddle.net/7uR8z/3/
źródło
Udało mi się znaleźć rozwiązanie za pomocą css / jQuery, z którym czuję się komfortowo. Oryginalny problem: musiałem wymusić wyświetlanie widoczności podczas animacji, ponieważ mam elementy wiszące poza tym obszarem. W ten sposób duże bloki tekstu będą teraz wisieć poza obszarem zawartości również podczas animacji.
Rozwiązaniem było rozpoczęcie głównych elementów tekstu z kryciem 0 i użycie ich
addClass
do wstrzyknięcia i przejścia do krycia o wartości 1. NastępnieremoveClass
po ponownym kliknięciu.Jestem pewien, że można to zrobić w całości w jQquery. Po prostu nie jestem facetem, który to robi. :)
Więc w najbardziej podstawowej formie ...
Dzięki za pomoc wszystkim.
źródło
Sprawdź skrzypce: http://jsfiddle.net/2k3hfwo0/2/
źródło