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 weisen Sie einer Instanz in Linux eine öffentliche IP-Adresse zu

beschreiben Beim Aufruf dieser Schnittstelle müss...

Nginx-Weiterleitung basierend auf URL-Parametern

Anwendungsszenarien: Der Sprungpfad muss entsprec...

Anwendung zur Verarbeitung von HTML-Tag-Überläufen

Verwenden Sie CSS, um Bildlaufleisten zu ändern 1...

33 Eis- und Schnee-Schriftarten zum Download empfohlen (privat und kommerziell)

01 Winterflocken (nur einzeln) 02 Snowtop Caps (k...

MySQL-Schleife fügt zig Millionen Daten ein

1. Erstellen Sie eine Testtabelle Tabelle `mysql_...

Allgemeine Funktionen der MySQL-Grundlagen

Inhaltsverzeichnis 1. Allgemeine Funktionsklassif...

So wählen Sie das Format bei der Verwendung von Binlog in MySQL

Inhaltsverzeichnis 1. Drei Binlog-Modi 1.Anweisun...

Tutorial zu HTML-Tabellen-Tags (12): Rahmenstil-Attribut FRAME

Verwenden Sie die FRAME-Eigenschaft, um den Stilt...

Kurze Analyse von CentOS 7 mysql-8.0.19-1.el7.x86_64.rpm-bundle.tar

Baidu Cloud-Festplatte: Link: https://pan.baidu.c...

Eine kurze Diskussion über React Native APP-Updates

Inhaltsverzeichnis App-Update-Prozess Grobes Flus...

Vue implementiert das Hinzufügen, Anzeigen und Löschen mehrerer Bilder

In diesem Artikel wird der spezifische Code für V...

Installieren und Konfigurieren von MySQL unter Linux

System: Ubuntu 16.04LTS 1\Laden Sie mysql-5.7.18-...