Heim  >  Artikel  >  Web-Frontend  >  Ein Regenbogenherz aus einem Quadrat mit CSS animieren?

Ein Regenbogenherz aus einem Quadrat mit CSS animieren?

WBOY
WBOYnach vorne
2023-09-09 09:01:02544Durchsuche

使用 CSS 从正方形制作彩虹心动画?

Wir können Animationen mithilfe von HTML, CSS und JavaScript gemeinsam erstellen und diese Animationen auf einer Webseite oder Website implementieren. CSS bietet viele Eigenschaften, die wir zum Erstellen von Animationen verwenden können. Deshalb wird empfohlen, CSS für das Styling zu verwenden, da es leistungsstarke Funktionen für die Front-End-Entwicklung bietet.

In diesem Artikel werden wir mithilfe von CSS eine Herzform erstellen, deren Farbe alle 3 Sekunden wechselt, und zwar in zwei Schritten mithilfe einer Animation.

Schritte zum Erstellen eines Regenbogenherzens

Wir werden zwei verschiedene Teile für den Körper erstellen und dann zwei Klassen erstellen, von denen eine das Quadrat und die andere der Behälter sein wird. Wir erstellen außerdem einen CSS-Abschnitt, in dem wir dem Textkörper einige Eigenschaften hinzufügen und alles, was wir anzeigen möchten, zentrieren. Wir werden den folgenden Code verwenden, um den Container zu erstellen.

Beispiel

Im folgenden Beispiel haben wir einige Eigenschaften hinzugefügt und eine Herzform erstellt, in der die Animation abgespielt wird. Der folgende Code gibt die Ausgabe von HTML- und CSS-Code aus.

<!DOCTYPE html>
<html lang="en">
<head>
   <title>Creating the container</title>
   <style>
      .contain {
         display: grid;
         height: 99vh;
         place-items: center;
      }
      .sqr {
         height: 9rem;
         width: 9rem;
         background-color: blue;
         transform: rotate(45deg);
      }
      .sqr::before {
         content: "";
         height: 100%;
         width: 99%;
         background-color: red;
         position: absolute;
         transform: translateY(-50%);
         border-radius: 49%;
      }
      .sqr::after {
         content: "";
         background-color: lightgreen;
         position: absolute;
         width: 99%;
         height: 99%;
         transform: translateX(-49%);
         border-radius: 50%;
      }
   </style>
</head>
<body>
   <div class="contain">
      <div class="sqr"></div>
   </div>
</body>
</html>

Die Kreise haben jetzt unterschiedliche Farben, das behalten wir bei, damit wir die Kreise unterscheiden können.

Jetzt werden wir dieses Herz animieren. Dazu fügen wir dem Herzen Bewegung hinzu und verwenden dann Keyframe-Eigenschaften, um die Farbe zu ändern. Die Farbe des Herzens ändert sich jedes Mal, wenn ein neuer Rahmen erscheint.

Die Bewegung des erschaffenen Herzens wird sich in ein Quadrat verwandeln und sich dann wieder in ein Herz verwandeln. Dazu verwenden wir die Transformationseigenschaft, damit sich das Quadrat in eine Herzform verwandeln kann. Jetzt haben wir die Methode besprochen.

Beispiel

Im folgenden Code verwenden wir zunächst denselben Code, den wir zum Erstellen der Behälter- und Herzformen verwendet haben, und fügen dann einige Keyframes hinzu, in denen wir die Farbe von 0 % auf 100 % festlegen. Die Farbe jedes Keyframes ändert sich, sodass sich das Quadrat in eine Herzform zu verwandeln scheint. Schauen wir uns die Ausgabe an, damit wir verstehen, was nach der Verwendung des Codes passiert.

<!DOCTYPE html>
<html lang="en">
<head>
   <title>Creating the container</title>
   <style>
      .contain {
         display: grid;
         height: 99vh;
         place-items: center;
      }
      .sqr {
         height: 9rem;
         width: 9rem;
         background-color: grey;
         transform: rotate(45deg);
         animation: beater 3s linear infinite;
      }
      .sqr::before {
         content: "";
         height: 100%;
         width: 99%;
         background-color: maroon;
         position: absolute;
         transform: translateY(-50%);
         border-radius: 49%;
         animation: beater 3s linear infinite;
      }
      .sqr::after {
         content: "";
         background-color: yellow;
         position: absolute;
         width: 99%;
         height: 99%;
         transform: translateX(-49%);
         border-radius: 50%;
         animation: beater 3s linear infinite;
      }
      @keyframes beater {
         0% {
            background: red;
         }
         15% {
            background: orange;
         }
         30% {
            transform: scale(0.5);
            background: yellow;
         }
         45% {
            background: greenyellow;
         }
         60% {
            background: blue;
         }
         75% {
            background: indigo;
         }
         100% {
            background: violet;
         }
      }
   </style>
</head>
<body>
   <div class="contain">
      <div class="sqr"></div>
   </div>
</body>
</html>

Anfangs wird unsere Ausgabe so aussehen, ein Quadrat, dann wird in jedem Frame die Illusion erzeugt, dass sich das Quadrat in eine Herzform verwandelt, dann wird es nach der Transformation erneut eine Schleife durchlaufen und sich in ein Quadrat verwandeln, jeder Frame wird sich in einen anderen verwandeln Farbrahmen. So sieht ein vollständiges Herz aus.

Endlich können wir ein komplettes Herz aus dem Quadrat sehen.

Fazit

Animationen auf Websites sind heutzutage weit verbreitet und diese Animationen bestimmen das tatsächliche Erscheinungsbild der Website. Der Zweck dieser Animationen besteht normalerweise darin, den Benutzer zu fesseln oder es ihm leicht zu machen, etwas zu verstehen. CSS ist ein sehr leistungsfähiges Tool, mit dem Sie diese Animationen mit nur wenigen Codezeilen erstellen können. Animationen enthalten Frames dazwischen und wir verwenden die Keyframe-Eigenschaft in CSS, um die Frames zu ändern.

In diesem Artikel haben wir gelernt, wie man mit CSS ein animiertes Regenbogenherz aus einem Quadrat erstellt, dessen Farbe alle 3 Sekunden wechselt.

Das obige ist der detaillierte Inhalt vonEin Regenbogenherz aus einem Quadrat mit CSS animieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:tutorialspoint.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen