Ιδιότητα animation-direction

Η ιδιότητα animation-direction ορίζει την κατεύθυνση της κίνησης. Από προεπιλογή, η κίνηση επαναλαμβάνεται μόνο 1 φορά και μετά επιστρέφει στην αρχική της κατάσταση, έπειτα, αν έχει οριστεί καθυστέρηση animation-delay, θα περιμένει τον καθορισμένο χρόνο και μετά ο κύκλος θα ξεκινήσει από την αρχή.

Αυτή η ιδιότητα επιτρέπει την αλλαγή αυτής της συμπεριφοράς, για παράδειγμα, έτσι ώστε η κίνηση μετά το τέλος της να παραμένει στο σημείο που τελείωσε, και όχι να πηδάει στην αρχική θέση.

Μπορεί επίσης να οριστεί η ακόλουθη συμπεριφορά: η κίνηση θα φτάσει στο ακραίο σημείο και θα επιστρέψει πίσω (όπως στο transition). Δείτε την περιγραφή παρακάτω.

Σύνταξη

cssεπιλογέας {
  animation-direction: normal | reverse | alternate | alternate-reverse;
}

Τιμές

Τιμή Περιγραφή
reverse Η κίνηση θα εκτελείται στην αντίστροφη κατεύθυνση.
alternate Η κίνηση θα εκτελείται πρώτα στην κανονική, και μετά στην αντίστροφη κατεύθυνση (όπως το transition).
alternate-reverse Η κίνηση θα εκτελείται από την τελική θέση προς την αρχική και αντίστροφα. Ουσιαστικά είναι οι τιμές alternate και reverse σε ένα.
normal Η κίνηση θα εκτελείται από την αρχή προς το τέλος, και μετά το τέλος της θα πηδάει απότομα στην αρχική θέση.

Προεπιλεγμένη τιμή: normal.

Παράδειγμα

Τώρα το στοιχείο θα κινείται προς τη μία κατεύθυνση, και μετά θα επιστρέφει πίσω, αφού έχει οριστεί η τιμή alternate. Ενώ animation-duration έχει τιμή 3 δευτερόλεπτα και αυτό σημαίνει ότι οι μετακινήσεις "προς τα εκεί" και "πίσω" θα διαρκούν 3 δευτερόλεπτα η καθεμία:

html<div id="elem"></div>
css@keyframes move {
  from {
    margin-left: 0;
  }
  to {
    margin-left: 400px;
  }
}

#elem {
  animation-direction: alternate;
  animation-duration: 3s;
  animation-name: move;
  animation-iteration-count: infinite;
  animation-timing-function: linear;
  border: 1px solid black;
  width: 50px;
  height: 50px;
}

Результат:

Παράδειγμα

Τώρα το στοιχείο θα κινείται στην αντίστροφη κατεύθυνση (πρέπει από αριστερά προς τα δεξιά, αλλά θα είναι από δεξιά προς τα αριστερά):

html<div id="elem"></div>
css@keyframes move {
  from {
    margin-left: 0;
  }
  to {
    margin-left: 400px;
  }
}
      
#elem {
  animation-direction: reverse;
  animation-duration: 3s;
  animation-name: move;
  animation-iteration-count: infinite;
  animation-timing-function: linear;
  border: 1px solid black;
  width: 50px;
  height: 50px;
}

Результат:

Παράδειγμα

Τώρα το στοιχείο θα κινείται μπρος-πίσω, αλλά στην αντίστροφη κατεύθυνση (πρέπει να ξεκινά από αριστερά, αλλά θα ξεκινά από δεξιά):

html<div id="elem"></div>
css@keyframes move {
  from {
    margin-left: 0;
  }
  to {
    margin-left: 400px;
  }
}

#elem {
  animation-direction: alternate-reverse;
  animation-duration: 3s;
  animation-name: move;
  animation-iteration-count: infinite;
  animation-timing-function: linear;
  border: 1px solid black;
  width: 50px;
  height: 50px;
}

Результат:

Δείτε επίσης

  • η ιδιότητα animation-name,
    που ορίζει το όνομα της κίνησης
  • η ιδιότητα animation-duration,
    που ορίζει τη διάρκεια της κίνησης
  • η ιδιότητα animation-delay,
    που ορίζει την καθυστέρηση πριν από την εκτέλεση της κίνησης
  • η ιδιότητα animation-timing-function,
    που ορίζει την ταχύτητα εκτέλεσης της κίνησης
  • η ιδιότητα animation-iteration-count,
    που ορίζει τον αριθμό των επαναλήψεων της κίνησης
  • η ιδιότητα animation-fill-mode,
    που ορίζει την κατάσταση της κίνησης
  • η ιδιότητα animation-play-state,
    που επιτρέπει να γίνει παύση της κίνησης
  • η ιδιότητα animation,
    που είναι μια συντόμευση για κινήσεις
  • η εντολή @keyframes,
    που ορίζει τα βασικά καρέ της κίνησης
  • οι ομαλές μεταβάσεις transition, που αντιπροσωπεύουν κίνηση όταν το ποντίκι περνάει πάνω από ένα στοιχείο