Beispiel für die Erzeugung eines Flügelschlags eines Schmetterlings mit reinem CSS3

Beispiel für die Erzeugung eines Flügelschlags eines Schmetterlings mit reinem CSS3

Mit reinem CSS3 lässt sich ein Schmetterling mit den Flügeln schlagen. Sehen Sie sich zuerst den Effekt an.

Wie ist es? Die Wirkung ist ziemlich gut, oder?

Oben genannter Code:

html

<div id="Schmetterling">
    <div Klasse="leftSide"></div>
    <div Klasse="body"></div>
    <div Klasse="rightSide"></div>
</div>

CSS

Körper{
            Hintergrund: URL("./images/bg.jpg") keine Wiederholung;
        }
        #Schmetterling{
            Breite: 600px;
            Höhe: 500px;
            Position: relativ;
            transformieren: Skalierung (0,35);
            Transformationsstil: 3D bewahren;
        }
        .linkeSeite{
            Breite: 267px;
            Höhe: 421px;
            Hintergrund: URL("./images/leftSide.png") keine Wiederholung;
            Position: absolut;
            links: 26px;
            oben: 40px;
            Animation: links 2s unendlich;
            Z-Index: 9999;
        }
        @Keyframes übrig {
            0 %{
                transformieren: drehenY(0Grad);
                Transform-Origin: rechts Mitte;
                Perspektive: 201px;

            }
            50 %{
                transformieren: Y-Drehung (70 Grad);
                Transform-Origin: rechts Mitte;
                Perspektive: 201px;

            }
            100 %{
                transformieren: drehenY(0Grad);
                Transform-Origin: rechts Mitte;
                Perspektive: 201px;
            }
        }
        @keyframes rechts {
            0 %{
                transformieren: drehenY(0);
                Transform-Origin: links Mitte;
                Perspektive: 201px;

            }
            50 %{
                transformieren: Y-Drehung (-70 Grad);
                Transform-Origin: links Mitte;
                Perspektive: 201px;

            }
            100 %{
                transformieren: drehenY(0);
                Transform-Origin: links Mitte;
                Perspektive: 201px;

            }
        }
        .Körper{
            Breite: 152px;
            Höhe: 328px;
            Hintergrund: URL("./images/body.png") keine Wiederholung;
            Position: absolut;
            Rand: automatisch;
            links: 0;
            rechts: 0;
            unten: 0;
            oben: 0;
            Z-Index: 9999;
        }
        .rechteSeite{
            Breite: 284px;
            Höhe: 460px;
            Hintergrund: URL("./images/rightSide.png") keine Wiederholung;
            Position: absolut;
            rechts: 26px;
            oben: 58px;
            Animation: rechts 2s unendlich;
            Z-Index: 9999;
        }

Lassen Sie mich vorher einige CSS-Eigenschaften vorstellen.

@Schlüsselbilder

  1. Mit der @keyframes-Regel können wir Animationen erstellen
  2. Das Prinzip der Animationserstellung besteht darin, einen Satz CSS-Stile schrittweise in einen anderen Satz Stile zu ändern.
  3. Den Zeitpunkt, zu dem die Änderung erfolgen soll, geben Sie als Prozentsatz an oder verwenden die Schlüsselwörter „von“ und „bis“, die 0 % und 100 % entsprechen.
  4. 0% ist die Startzeit der Animation, 100% ist die Endzeit der Animation

transformieren: rotateY()

  1. Die Transform-Eigenschaft wendet eine 2D- oder 3D-Transformation auf ein Element an. Diese Eigenschaft ermöglicht es uns, ein Element zu drehen, zu skalieren, zu verschieben oder zu verzerren.
  2. rotateY() definiert eine 3D-Rotation entlang der Y-Achse.

Dieses Bild veranschaulicht die xyz-Achsen deutlich. Tatsächlich sollten Schüler, die 3D-Modellierungssoftware wie 3DS MAX gelernt haben, mit den Richtungen dieser drei Achsen besser vertraut sein.

Implementierungsidee: Verwenden Sie zunächst das Kind und den Vater, um den linken Flügel, den rechten Flügel und den Körper absolut zu positionieren und zusammenzusetzen. Verwenden Sie dann „rotateY“ von transform, um es entlang der Y-Achse zu drehen. Verwenden Sie hier die @keyframe-Animation zur Drehung und wiederholen Sie dann die Aktion.

Wir sollten uns auch auf die Eigenschaft transform-style: preserve-3d; konzentrieren. Laut W3C ermöglicht sie es den transformierten untergeordneten Elementen, ihre 3D-Transformation beizubehalten. Das heißt, alle Unterelemente werden im 3D-Raum dargestellt. Wenn dagegen die Einstellung „Flach“ gewählt ist, werden alle Unterelemente im 2D-Raum dargestellt.

Adresse zum Herunterladen der Demo

Das Obige ist der vollständige Inhalt dieses Artikels. Ich hoffe, er wird für jedermanns Studium hilfreich sein. Ich hoffe auch, dass jeder 123WORDPRESS.COM unterstützen wird.

<<:  Wichtige Updates für MySQL 8.0.23 (neue Funktionen)

>>:  Detaillierte Erklärung der Javascript-Grundlagen

Artikel empfehlen

So konfigurieren Sie Http, Https, WS und WSS in Nginx

Vorne geschrieben Im heutigen Internetbereich ist...

Die benutzerdefinierte Vue-Komponente implementiert eine bidirektionale Bindung

Szenario: Die von uns häufig verwendeten Interakt...

Eine Zeile CSS-Code zur Integration von Avatar und Nationalflagge

Es ist Nationalfeiertag und jeder kann es kaum er...

Drei häufig verwendete MySQL-Datentypen

Das Definieren des Datenfeldtyps in MySQL ist für...

3 Tipps, die Sie beim Erlernen von JavaScript kennen müssen

Inhaltsverzeichnis 1. Der magische Erweiterungsop...

Mehrere Möglichkeiten zum Speichern von Bildern in einer MySQL-Datenbank

Normalerweise müssen die von Benutzern hochgelade...

Implementierung der MySQL-Konfiguration SSL-Zertifikat-Login

Inhaltsverzeichnis Vorwort 1. MySQL ermöglicht SS...

Grundlegender JSON-Betriebsleitfaden in MySQL 5.7

Vorwort Aufgrund der Projektanforderungen werden ...

Detaillierte Erklärung des JS-Browser-Ereignismodells

Inhaltsverzeichnis Was ist ein Ereignis Ein einfa...

Schreiben Sie ein MySQL-Datensicherungsskript mithilfe der Shell

Ideen Eigentlich ist es ganz einfach Schreiben Si...

So erstellen Sie eine MySQL-Datenbank (de1) mit Befehlen

1. Verbindung zu MySQL herstellen Format: mysql -...