Heim > Web-Frontend > CSS-Tutorial > Wie kann ich dafür sorgen, dass mehrere CSS-Übergänge für ein Element gleichzeitig funktionieren?

Wie kann ich dafür sorgen, dass mehrere CSS-Übergänge für ein Element gleichzeitig funktionieren?

Mary-Kate Olsen
Freigeben: 2024-12-15 05:44:08
Original
340 Leute haben es durchsucht

How Can I Make Multiple CSS Transitions on One Element Work Simultaneously?

Mehrere CSS-Übergänge für ein Element

In CSS ermöglichen Übergänge flüssige Animationen, indem sie die Werte bestimmter Eigenschaften im Laufe der Zeit schrittweise ändern. Wenn jedoch mehrere Übergänge auf dasselbe Element angewendet werden, können die nachfolgenden Übergänge die vorherigen überschreiben.

Beachten Sie das folgende CSS-Code-Snippet:

.nav a {
    text-transform:uppercase;
    text-decoration:none;
    color:#d3d3d3;
    line-height:1.5 em;
    font-size:.8em;
    display:block;
    text-align:center;
    text-shadow: 0 -1.5em 0 rgba(255, 255, 255, 0.15);
    -webkit-transition: color .2s linear;
    -moz-transition: color .2s linear;
    -o-transition: color .2s linear;
    transition: color .2s linear;
    -webkit-transition: text-shadow .2s linear;
    -moz-transition: text-shadow .2s linear;
    -o-transition: text-shadow .2s linear;
    transition: text-shadow .2s linear;
}

.nav a:hover {
    color:#F7931E;
    text-shadow: 0 1.5em 0 rgba(247, 147, 30, 0.15);
}
Nach dem Login kopieren

In diesem Code sind sowohl die Farbe und für Textschatteneigenschaften sind Übergangseffekte definiert. Das Problem besteht darin, dass der zweite Übergang den ersten überschreibt. Infolgedessen erfolgt die Textschattenanimation, die Farbanimation jedoch nicht.

Um dieses Problem zu beheben und beide Übergänge gleichzeitig funktionieren zu lassen, verwenden Sie CSS-Übergangseigenschaften in Verbindung. So geht's:

Komma-getrennte Übergangseigenschaften

In allen Browsern, die Übergänge unterstützen, können Übergangseigenschaften durch Kommas getrennt werden. Durch die Trennung mehrerer Eigenschaften durch Kommas können beide Übergänge gleichzeitig ausgelöst werden.

.nav a {
  transition: color .2s, text-shadow .2s;
}
Nach dem Login kopieren

Beschleunigungsfunktion angeben

Standardmäßig verwenden Übergänge die Beschleunigungs-Timing-Funktion. Wenn Sie eine andere Timing-Funktion verwenden möchten, beispielsweise eine lineare, muss diese explizit angegeben werden.

transition: color .2s linear, text-shadow .2s linear;
Nach dem Login kopieren

Übergangseigenschaften-Kurzschrift

Für einen saubereren Ansatz bei der Verwendung identischer Timings und Timing-Funktionen für Wenn Sie mehrere Eigenschaften verwenden, verwenden Sie die Transition-*-Eigenschaften anstelle der Abkürzung:

transition-property: color, text-shadow;
transition-duration: .2s;
transition-timing-function: linear;
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonWie kann ich dafür sorgen, dass mehrere CSS-Übergänge für ein Element gleichzeitig funktionieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage