Możesz użyć przejść CSS3 lub animacji CSS3 do przesuwania elementu.
Obsługa przeglądarki: http://caniuse.com/
Zrobiłem dwa krótkie przykłady, aby pokazać, o co mi chodzi.
Przejście CSS (po najechaniu kursorem)
Demo One
Odpowiedni kod
.wrapper:hover #slide {
transition: 1s;
left: 0;
}
W tym przypadku, Im po prostu przejście z pozycji left: -100px;
do 0;
z 1s. Trwanie. Możliwe jest również przesuwanie elementu za pomocątransform: translate();
Animacja CSS
Demo Two
#slide {
position: absolute;
left: -100px;
width: 100px;
height: 100px;
background: blue;
-webkit-animation: slide 0.5s forwards;
-webkit-animation-delay: 2s;
animation: slide 0.5s forwards;
animation-delay: 2s;
}
@-webkit-keyframes slide {
100% { left: 0; }
}
@keyframes slide {
100% { left: 0; }
}
Ta sama zasada co powyżej (Demo One), ale animacja uruchamia się automatycznie po 2s iw tym przypadku ustawiłem animation-fill-mode
na forwards
, co będzie utrzymywać stan końcowy, pozostawiając element div widoczny po zakończeniu animacji.
Tak jak powiedziałem, dwa szybkie przykłady pokazujące, jak można to zrobić.
EDYCJA:
Aby uzyskać szczegółowe informacje dotyczące animacji i przejść CSS, zobacz:
Animacje
https://developer.mozilla.org/en-US/docs/Web/Guide/CSS/Using_CSS_animations
Przejścia
https://developer.mozilla.org/en-US/docs/Web/Guide/CSS/Using_CSS_transitions
Mam nadzieję, że to pomogło.
Christofer Vilander
źródło