2012-07-10 9 views
6

Próbuję przejść użytkownika css3, aby zaniknąć nieprzezroczystość elementu (http://www.w3schools.com/cssref/css3_pr_transition-duration.asp).Różne czasy przejścia css3 dla stanu "do" i "powrotu"

Na przykład, mówię:

-webkit-transition: opacity 2s ease-in-out; 

Czy istnieje sposób, aby określić inną „powrotu do pierwotnego stanu” czasu niż 2s?

Chciałbym zmniejszyć krycie w 2 sekundy, ale przywrócić go w 0,5 sekundy.

CSS3 Transition: Different transition for *IN* and *OUT* (or returning from transitioned state) wydaje się to osiągnąć, ale przy użyciu wielu elementów. Lepszy sposób?

Odpowiedz

11

Tak, istnieje lepszy sposób - http://jsfiddle.net/bJKpu/

Wystarczy określić różne transition-duration -s do normalnego stanu i oscylował:

div { 
    height: 200px; 
    width: 200px; 
    background: orange; 
    opacity: .5; 
    -webkit-transition: all .5s ease-in-out; 
     -moz-transition: all .5s ease-in-out; 
} 


div:hover { 
    opacity: 1; 
    height: 300px; 
    width: 300px; 
    -webkit-transition: all 2s ease-in-out; 
     -moz-transition: all 2s ease-in-out; 
} 
+0

Dzięki za to. Ponieważ w rzeczywistości nie używam poleceń myszy, tak naprawdę zmieniam CSS przejścia z jQuery podczas wydawania polecenia, które przyjmuje lub zwraca-to-ze stanu zmienionego. –

+0

dlaczego potrzebujesz jquery, jeśli działa bez niego? niektórzy ludzie mają wyłączony javascript, ale nie mogą wyłączyć CSS :) –

+0

po prostu używając jquery b/c łatwiej i buduję js-heavy webapp ... zwykły javascript będzie działał równie dobrze. –

Powiązane problemy