Heim > Web-Frontend > CSS-Tutorial > Hauptteil

So verwenden Sie CSS und GSAP, um eine Loader-Animation für das Sprießen von Zweigen zu implementieren (Quellcode im Anhang)

不言
Freigeben: 2018-09-13 16:20:33
Original
2061 Leute haben es durchsucht

Der Inhalt dieses Artikels befasst sich mit der Verwendung von CSS und GSAP zur Realisierung der Loader-Animation von Branch Sprouting (Quellcode im Anhang). Ich hoffe, dass er darauf verweisen kann wird Ihnen nützlich sein.

Effektvorschau

So verwenden Sie CSS und GSAP, um eine Loader-Animation für das Sprießen von Zweigen zu implementieren (Quellcode im Anhang)

Quellcode-Download

https://github.com/comehope/front- end-daily-challenges

Code-Interpretation

Dom definieren, der Container enthält 2 Elemente, branch stellt den Zweig dar, leaves stellt das Blatt dar, das Blatt hat 6 Unterelemente, Stellt 6 Blätter dar:

<figure>
    <div></div>
    <div>
        <span></span>
        <span></span>
        <span></span>
        <span></span>
        <span></span>
        <span></span>
    </div>
</figure>
Nach dem Login kopieren

Anzeige in der Mitte:

body {
    margin: 0;
    height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: black;
}
Nach dem Login kopieren

Definieren Sie die Containergröße und stellen Sie die untergeordneten Elemente so ein, dass sie horizontal zentriert sind:

.sapling {
    position: relative;
    width: 5em;
    height: 17.5em;
    font-size: 10px;
    display: flex;
    justify-content: center;
}
Nach dem Login kopieren

Zweige zeichnen:

.branch {
    position: absolute;
    width: 0.2em;
    height: inherit;
    border-radius: 25%;
    background: burlywood;
}
Nach dem Login kopieren

Definieren Sie den Blattbehälter, stellen Sie ihn so ein, dass die Blätter gleichmäßig in vertikaler Richtung verteilt und von unten nach oben angeordnet sind:

.leaves {
    position: absolute;
    width: inherit;
    height: 15em;
    top: 1em;
    display: flex;
    flex-direction: column-reverse;
}
Nach dem Login kopieren

Legen Sie die Größe und Hintergrundfarbe der Blätter fest:

.leaves span {
    width: 2.5em;
    height: 2.5em;
    background-color: limegreen;
}
Nach dem Login kopieren

Stellen Sie die jeweiligen Stile der linken und rechten Blätter ein:

.leaves span:nth-child(odd) {
    border-bottom-left-radius: 3em;
    border-top-right-radius: 3em;
    transform-origin: right bottom;
    align-self: flex-start;
}

.leaves span:nth-child(even) {
    border-bottom-right-radius: 3em;
    border-top-left-radius: 3em;
    transform-origin: left bottom;
    align-self: flex-end;
}
Nach dem Login kopieren

An diesem Punkt ist die statische Effektzeichnung abgeschlossen und wir beginnen mit dem Schreiben des Animationsskripts.
Stellen Sie die GSAP-Bibliothek vor:

<script></script>
Nach dem Login kopieren

Deklarieren Sie ein Zeitleistenobjekt:

let animation = new TimelineMax();
Nach dem Login kopieren

Fügen Sie den Eingangsanimationseffekt von Zweigen hinzu und legen Sie eine Bezeichnung für diese Animation fest branch:

animation.from('.branch', 4, {scaleY: 0, ease: Power1.easeOut}, 'branch');
Nach dem Login kopieren

Erhöhen Sie den Eingangsanimationseffekt von Blättern. Es gibt drei Parameter 0.5. Die Bedeutungen von links nach rechts sind die Animationsdauer, die Intervalldauer mehrerer Blattanimationen und die Verzögerungszeit relativ zur Bezeichnung branch Animation. :

animation.from('.branch', 4, {scaleY: 0, ease: Power1.easeOut}, 'branch')
    .staggerFrom('.leaves span', 0.5, {scale: 0, ease: Power1.easeOut}, 0.5, 0.5, 'branch');
Nach dem Login kopieren

Fügen Sie den Animationseffekt der gelb werdenden Blätter hinzu:

animation.from('.branch', 4, {scaleY: 0, ease: Power1.easeOut}, 'branch')
    .staggerFrom('.leaves span', 0.5, {scale: 0, ease: Power1.easeOut}, 0.5, 0.5, 'branch')
    .to(['.branch', '.leaves span'], 3, {backgroundColor: 'yellow'});
Nach dem Login kopieren

Fügen Sie den Ausblendeffekt hinzu:

animation.from('.branch', 4, {scaleY: 0, ease: Power1.easeOut}, 'branch')
    .staggerFrom('.leaves span', 0.5, {scale: 0, ease: Power1.easeOut}, 0.5, 0.5, 'branch')
    .to(['.branch', '.leaves span'], 3, {backgroundColor: 'yellow'})
    .to(['.branch', '.leaves span'], 1, {autoAlpha: 0});
Nach dem Login kopieren

Ändern Sie den Code der zu erstellenden Deklarationszeitleiste Die Animation wiederholt sich:

let animation = new TimelineMax({repeat: -1, repeatDelay: 0.5});
Nach dem Login kopieren

Du bist fertig!

Verwandte Empfehlungen:

So verwenden Sie CSS und GSAP, um kontinuierliche Animationen mit mehreren Keyframes zu implementieren (Quellcode im Anhang)

Anleitung Verwenden Sie Zeichnen Sie ein rotierendes Tai-Chi-Diagramm mit reinem CSS-Code (mit Code)

Das obige ist der detaillierte Inhalt vonSo verwenden Sie CSS und GSAP, um eine Loader-Animation für das Sprießen von Zweigen zu implementieren (Quellcode im Anhang). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage