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

js implementiert einen einfachen Rechner

Verwenden Sie natives JS, um einen einfachen Rech...

Implementierung der Anmeldeseite des tatsächlichen Kampfprotokolls von Vue

Inhaltsverzeichnis 1. Vorbereitende Maßnahmen 1.1...

jQuery simuliert einen Picker, um einen gleitenden Auswahleffekt zu erzielen

In diesem Artikel wird der spezifische Code von j...

So fügen Sie einem laufenden Docker-Container dynamisch ein Volume hinzu

Jemand hat mich schon einmal gefragt, ob es mögli...

Detaillierte Erläuterung des Linux-Indexknoten-Inode

1. Einführung in Inode Um Inode zu verstehen, müs...

Ich habe ein paar coole Designseiten zusammengestellt, die ich gut finde.

Sie müssen Inspiration haben, um eine Website zu g...

Methode zur Änderung des MySQL-Kontokennworts (Zusammenfassung)

Vorwort: Bei der täglichen Verwendung der Datenba...

MySql-Wissenspunkte: Transaktion, Index, Sperrprinzip und Nutzungsanalyse

Dieser Artikel erläutert anhand von Beispielen di...

Linux 6 Schritte zum Ändern der Standard-Remote-Portnummer von SSH

Der Standard-SSH-Remote-Port in Linux ist 22. Man...

MySQL-Implementierung für pessimistisches und optimistisches Sperren

Inhaltsverzeichnis Vorwort Tatsächlicher Kampf 1....

Beispielanalyse der Verwendung gespeicherter MySQL-Prozeduren

Dieser Artikel beschreibt die Verwendung gespeich...