Mit anderen Worten: „Unterschiedliche Übergänge bei mouseenter und mouseleave“, da dies die DOM-Ereignisse sind, die auftreten, aber wir verwenden hier kein JavaScript, wir sprechen über den CSS :hover-Zustand und CSS3-Übergänge. Hover ein, eine CSS-Eigenschaft animiert sich zu einem neuen Wert; Hover aus, eine andere CSS-Eigenschaft animiert sich.
Das ist ein einfacher Trick. Sie setzen Übergänge für beide Zustände, so:
#thing {
padding: 10px;
border-radius: 5px;
/* HOVER OFF */
-webkit-transition: padding 2s;
}
#thing:hover {
padding: 20px;
border-radius: 15px;
/* HOVER ON */
-webkit-transition: border-radius 2s;
}
Wenn Sie darüber schweben, überschreibt der :hover-Übergang den im regulären Zustand gesetzten Übergang und diese Eigenschaft wird animiert. Wenn Sie den Mauszeiger wegziehen, übernimmt der Übergang aus dem regulären Zustand und diese Eigenschaft wird animiert.
Und hier nun ein beleidigend lahmes Beispiel, das Sie niemals verwenden sollten
Interessant, hat eine wilde Drehung in Chrome.
Tatsächlich, es ist, als ob das Element innerhalb eines kleineren Elternelements verheddert wäre. Wirklich seltsame Dinge passieren in Chrome. Ich wette, Sie haben es in Safari ausprobiert, also ist es keine Webkit-Besonderheit. Irgendwelche Gedanken dazu, Chris?
Wenn Sie sich den Quellcode ansehen, ist der Rotationsübergang dort enthalten. Das ist kein Bug ;)
Funktioniert hier in Chrome einwandfrei. Ubuntu 10.10.
Ja, kein Bug – nur kitschig. Wie beschrieben!
Fantastisch, danke!
Ja, absolut kitschig, aber cool.
Wie die Leute sagten – kitschig, aber cool :)
(Trackback von Rinnku.com)
Das ist so ein widerlicher Button lol. Coole Idee aber
Das ist ein schöner Trick, danke fürs Teilen!
So einfach! Danke für den Beitrag Chris, die Logik war sehr leicht nachvollziehbar.
Ich mag deinen animierten Button wirklich – der wird auf der Website meines Kunden toll aussehen. Könntest du mir freundlicherweise die Codes per E-Mail schicken?
Rechtsklick und Quelltext anzeigen oder Element inspizieren – der einfachste Weg, den Code zu erhalten! Und in seinen Beispielen schreibt Chris den CSS normalerweise in den Header statt in eine verlinkte Datei, damit es einfacher ist, den Code zu greifen.
Ich hätte solche Angst, den Mauszeiger wegzubewegen und diese verrückte Spin-Animation zu erhalten, dass ich jedes Mal konvertieren würde. Teuflisch! ;) Sehr gut gemacht Chris!
lol
Es ist großartig, aber ich denke, es hat keinen Nutzen...
Dann bist du kein guter Denker… Verwende einen Fade und er blendet ein und aus – sieht wirklich gut aus. Leichtes Wachsen und Schrumpfen sieht gut aus, box-shadow kann verwendet werden, um ein Gefühl von Tiefe mit den Übergängen zu erzeugen, unzählige Anwendungen mit sehr geringem Programmieraufwand.
Schöner Trick, Sir, ich denke, ich kann von diesem Punkt an mit diesem Hover-Off-Ding experimentieren.
Ich würde sagen, das ist unglaublich nützlich. Es gibt natürlich viele unterhaltsame und amüsante Anwendungen dafür, aber Chris hat auch gezeigt, was ich als einen wichtigen Teil bei der Umwandlung von Hover-Zuständen bezeichnen würde.
Zum Beispiel möchten Sie ein langsames Einblenden von Farbe oder Deckkraft bei einem Link (3s) oder so – das könnte so langsam sein, dass die Benutzer den Link beim Darüberfahren nicht einmal erkennen. Durch die Angabe einer kürzeren Zeit für den :hover-Zustand können Sie die Aufmerksamkeit des Benutzers beim Hovern schnell erfassen und gleichzeitig ein sanftes, langsameres Ausblenden beibehalten, wenn die Maus den Bereich verlässt.
Ich wünschte, es gäbe einen Like-Button!
Tolle schicke Schaltfläche, aber ein Problem: Wenn ich über die Schaltfläche fahre, erscheint die Scrollleiste.
Eine interessante Sache, die man bedenken sollte, wenn man über die Übergänge des „Zustands“ nachdenkt, ist, dass sie auch beim Laden der Seite aktiviert werden...
Eine gute Sache, die man bedenken sollte, wenn man ein 10 Sekunden lang blinkendes, wirbelndes Ding hat, das ein „Maus-Aus“-Ereignis mit höchster Geheimhaltung sein soll.
Mein Lieblingsteil ist, wie langsam es läuft. Leute drängen CSS3 immer wieder über Flash für Animationen, aber im aktuellen Zustand ist es zu abgehackt, um konkurrieren zu können.
Es gibt hier definitiv Bedenken. Besonders bei so einfachen kleinen Animationen, die zu Verlangsamungen führen. Ich wünschte, es gäbe wirklich gute Forschung dazu.
Cool. Aber ein echter „Jetzt kaufen“-Button wäre rot…
? Bitte erklären
Wahrscheinlich, weil Rot auffälliger ist, was er damit meinte? Ich habe keine Ahnung...
Das Problem ist, wie man eine Animation beim Hover-Off mit jQuery erzeugt
Schöner Trick. Ich werde damit eine Weile herumspielen und sehen, wie ich es etwas flüssiger machen kann. Danke.
hi
tolle Website! Danke !!!
Wie wäre es, wenn Sie uns sagen, woher wir das Menü bekommen können, so wie Sie es hier haben? ;)
Inspiriert von Ihrem Artikel habe ich das hier gemacht: http://userstyles.org/styles/43998
Ich habe das für eine experimentelle Dropdown-Navigation verwendet.
Für diese Navigation habe ich einen verzögerten Übergang von Deckkraft und z-Index beim Hover hinzugefügt.
Siehe http://dl.dropbox.com/u/1496903/css3menu_1.html für den Quellcode.
Das relevante CSS
Danke für deinen einfachen, aber praktischen Beitrag! Ich habe es ausprobiert und bin sehr glücklich zu lernen, wie einfach Übergänge in CSS3 sind. Und ich wusste nicht, dass ich :hover auf jedem div platzieren kann, ich dachte nur auf .
Sir,
Ich habe ein paar Dinge hinzugefügt, um mein div-Element zu animieren...
three{
}
three:hover{
}
Die Animation funktioniert gut, mit der Ausnahme, dass sie abrupt stoppt, wenn Sie den Cursor vom Element entfernen. Gibt es eine Möglichkeit, sie dazu zu zwingen, weiterzulaufen, auch wenn die Maus den Bereich verlassen hat?
Außerdem wäre es eine große Hilfe, wenn Sie mir bitte sagen könnten, wie ich diese Animation auslösen kann, indem ich auf das Element „#three“ klicke??
Brillant! Vielen Dank, dass Sie diesen Tipp gezeigt haben!