Heim > Web-Frontend > CSS-Tutorial > Hauptteil

Wie kann ich beim Ändern von Anzeige und Deckkraft sanfte CSS-Übergänge erstellen?

Susan Sarandon
Freigeben: 2024-10-30 04:57:03
Original
191 Leute haben es durchsucht

How can I create smooth CSS transitions when changing both display and opacity?

Erstellen reibungsloser CSS-Übergänge mit Anzeige- und Deckkraftänderungen

In der Welt der Webentwicklung ist die Erstellung optisch ansprechender und interaktiver Benutzeroberflächen von entscheidender Bedeutung. CSS-Animationen spielen dabei eine entscheidende Rolle, da sie uns einen nahtlosen Übergang zwischen verschiedenen Zuständen eines Elements ermöglichen.

Bei der Arbeit mit CSS3-Animationen kommt es nicht selten vor, dass Sie auf Situationen stoßen, in denen Sie mehrere Eigenschaften übergehen müssen, z Deckkraft und Anzeige. Das Kombinieren dieser Eigenschaften kann jedoch schwierig sein, da der direkte Übergang der Anzeigeeigenschaft zu abrupten Änderungen führen kann.

Beachten Sie den folgenden CSS-Code:

.child {
    opacity: 0;
    display: none;

    -webkit-transition: opacity 0.5s ease-in-out;
    -moz-transition: opacity 0.5s ease-in-out;
    transition: opacity 0.5s ease-in-out;
}

.parent:hover .child {
    opacity: 0.9;
    display: block;
}
Nach dem Login kopieren

Dieser Code zielt darauf ab, ein Element mit einzublenden die „Kind“-Klasse beim Schweben. Es funktioniert jedoch nicht richtig, da der direkte Übergang der Anzeigeeigenschaft von „none“ zu „block“ zu einem abrupten Erscheinungsbild führt.

Um dieses Problem zu beheben, können wir CSS-Keyframes nutzen, um einen reibungslosen Übergang zwischen zu erreichen die beiden Staaten. Der folgende Code demonstriert diesen Ansatz:

.parent:hover .child
{
    display: block;

    -webkit-animation: fadeInFromNone 0.5s ease-out;
    -moz-animation: fadeInFromNone 0.5s ease-out;
    -o-animation: fadeInFromNone 0.5s ease-out;
    animation: fadeInFromNone 0.5s ease-out;
}

@-webkit-keyframes fadeInFromNone {
    0% {
        display: none;
        opacity: 0;
    }

    1% {
        display: block;
        opacity: 0;
    }

    100% {
        display: block;
        opacity: 1;
    }
}

@-moz-keyframes fadeInFromNone {
    0% {
        display: none;
        opacity: 0;
    }

    1% {
        display: block;
        opacity: 0;
    }

    100% {
        display: block;
        opacity: 1;
    }
}

@-o-keyframes fadeInFromNone {
    0% {
        display: none;
        opacity: 0;
    }

    1% {
        display: block;
        opacity: 0;
    }

    100% {
        display: block;
        opacity: 1;
    }
}

@keyframes fadeInFromNone {
    0% {
        display: none;
        opacity: 0;
    }

    1% {
        display: block;
        opacity: 0;
    }

    100% {
        display: block;
        opacity: 1;
    }
}
Nach dem Login kopieren

In diesem Code wird die Keyframe-Animation „fadeInFromNone“ verwendet, um die Deckkraft von 0 auf 1 zu ändern und gleichzeitig die Anzeigeeigenschaft bei 1 % auf „blockieren“ zu setzen Vermeiden Sie das abrupte Erscheinen.

Das obige ist der detaillierte Inhalt vonWie kann ich beim Ändern von Anzeige und Deckkraft sanfte CSS-Übergänge erstellen?. 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
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!