So implementieren Sie die King of Glory-Personal-Ladeseite mit CSS3

So implementieren Sie die King of Glory-Personal-Ladeseite mit CSS3

Wer King of Glory gespielt hat, sollte mit der Wirkung dieser Seite vertraut sein. Warum wollen wir diesen Effekt erzielen?

Erstens: King of Glory ist so beliebt und E-Sport ist so beliebt.

Zweitens: Der Hauptzweck besteht darin, lineare und radiale Farbverläufe, Rotation, Skalierung und Animation in CSS3 zu erlernen.

Grafische Analyse

1. Hintergrund (radialer Farbverlauf)

2. Player-Ladeanimation (linearer Farbverlauf)

3. Hintergrund hohles rotierendes Quadrat

4. Animation zur quadratischen Textvergrößerung

5. Textbutton-Produktion

Folgen wir den oben genannten Schritten zur Umsetzung

Hintergrundproduktion

Hintergrund: radialer Farbverlauf (Mitte, Formgröße, Startfarbe, …, letzte Farbe);

Der Formparameter definiert die Form. Es kann sich um den Wertekreis oder die Ellipse handeln. Dabei stellt „Kreis“ einen Kreis und „Ellipse“ eine Ellipse dar. Der Standardwert ist Ellipse

<Stil>
  .König{
    Position: relativ;
    Höhe: 25rem;
    Breite: 100 %;
    Hintergrund: 
      radialer Farbverlauf (Kreis, #ccc, #161d4f 85 %);
  }
</Stil>
<div Klasse="König"></div> 

CSS3 linearer, radialer Farbverlauf, Rotation, Skalierung, Animation, um eine King of Glory-Matching-Personal-Ladeanimation zu erzielen

Spieler wird geladen

Das Modul ist insgesamt vertikal zentriert und weist einen linearen Farbverlauf auf.

Hintergrund: linearer Farbverlauf (Richtung/Winkel, Farbstopp1, Farbstopp2, …);

Richtung/Winkel steuert die Richtung/den Winkel des Farbverlaufs.

<Stil>
...
.player-layout{
  Position: relativ;
  Höhe: 8rem;
  Breite: 100 %;
  Hintergrund: 
    linearer Farbverlauf (nach rechts, #212f46, #212f4670, #212f46);
  oben: 50 %;
  transformieren: übersetzen(0,-50%);
  Z-Index: 10;
}
</Stil>
<div Klasse="König">
  <div Klasse="Player-Layout"></div>
</div>

CSS3 linearer, radialer Farbverlauf, Rotation, Skalierung, Animation, um eine King of Glory-Matching-Personal-Ladeanimation zu erzielen

Fügen Sie ein Canyon-Bild, einen linearen Hintergrundverlauf und eine Drehung hinzu. Fügen Sie einen Rahmen hinzu und verwenden Sie dann box-shadow um ihn zum Leuchten zu bringen.

<Stil>
...
.Center{
  Position: absolut;
  Höhe: 8rem;
  Breite: 8rem;
  oben: 50 %;
  links: 50%;
  verwandeln: 
    verschieben(-50 %, -50 %) drehen(45 Grad);
  Hintergrund: 
    linearer Farbverlauf (90 Grad, #212f46, #5b99ff);
  Rand: .3rem durchgezogen #55a9ef;
  Kastenschatten: 0px 0px .8rem #88c0f0;
  Polsterung: .2rem;
}
.center img{
  Breite: 100 %;
  Höhe: 100%;
}
</Stil>
<div Klasse="König">
  <div Klasse="Spieler-Layout">
    <div Klasse="center"><img src="../images/123123.jpg"></div>
  </div>
</div> 

CSS3 linearer, radialer Farbverlauf, Rotation, Skalierung, Animation, um eine King of Glory-Matching-Personal-Ladeanimation zu erzielen

Teilen Sie die 10 Spieler anschließend in zwei Gruppen auf und platzieren Sie sie auf beiden Seiten des Canyon-Bildes.

<Stil>
...
...
.Gruppe{
  Position: relativ;
  Breite: berechnet ((100 % – 13rem)/2);
  oben: 50 %;
  transformieren: übersetzen(0, -50%);
}
.Gruppe1{
  Textausrichtung: rechts;
  schweben: links;
}
.Gruppe2{
  Textausrichtung: links;
  schweben: rechts;
}
.Spieler{
  Breite: 4rem;
  Höhe: 4rem;
  Anzeige: Inline-Block;
  Hintergrund: URL ('../images/123123.jpg');
  Hintergrundgröße: Abdeckung;
  Rand: .3rem durchgezogen #55a9ef;
  Kastenschatten: 0px 0px .8rem #88c0f0;
}  
</Stil>
...
<div Klasse="Spieler-Layout">
  <div Klasse="Gruppe Gruppe1">
    <div class="player1 player"></div>
    <div class="player2 player"></div>
    <div class="player3-Spieler"></div>
    <div class="player4 player"></div>
    <div class="player5 Spieler"></div>
  </div>
  <div Klasse="Gruppe Gruppe2">
    <div class="player6 Spieler"></div>
    <div class="player7 player"></div>
    <div class="player8 Spieler"></div>
    <div class="player9 Spieler"></div>
    <div class="player10 player"></div>
  </div>
  <div Klasse="center"><img src="../images/123123.jpg"></div>
</div>
...

Hier wird die Breite jeder Gruppe mit calc() berechnet, (100 % – Länge der Rechteckdiagonale)/2.

In der Mitte ist ein Quadrat mit einer Seitenlänge von 8rem, also: Diagonale = 8rem im Quadrat x 2 und dann die Quadratwurzel ziehen. Hier beträgt die Länge der Diagonale des Rechtecks ​​ungefähr 13rem.

Fügen wir für jeden Spielerrand eine Ladeanimation hinzu.

.Spieler{
  Position: relativ;
  ...
  ...
  Farbe: #fff;
}
.Spieler::vorher,
.Spieler::nach {
  Position: absolut;
  Inhalt: '';
  oben: 0;
  unten: 0;
  links: 0;
  rechts: 0;
  Marge: -8%;
  Box-Shadow: Einschub 0 0 0 .3rem;
  Animation: ClipMe 6s linear unendlich;
}
.spieler::vor {
  Animationsverzögerung: -3s;
}
@keyframes clipMe {
  0%,
  100 % {
    Clip: Rechteck (0, 4,8rem, 4,8rem, 4,3rem);
  }
  25 % {
    Clip: Rechteck (0px, 4,8rem, 0,3rem, 0);
  }
  50 % {
    Clip: Rechteck (0, .3rem, 4.8rem, 0);
  }
  75 % {
    Clip: Rechteck (4,3rem, 4,8rem, 4,8rem, 0rem);
  }
}

Hauptsächlich wird clip Attribut verwendet.

Die Clip-Eigenschaft schneidet absolut positionierte Elemente ab.

Was passiert, wenn ein Bild größer ist als das Element, das es enthält? Mit dem Attribut „Clip“ können Sie die sichtbare Größe eines Elements angeben, sodass das Element zugeschnitten und in dieser Form angezeigt wird.

Die einzigen gültigen Formwerte sind: rect (oben, rechts, unten, links)

Diese Immobilie ist sehr interessant und Interessenten können sie sorgfältig studieren.

Zum Schluss fügen wir den beiden Gruppen noch einen Highlight-Effekt hinzu.

.group::vorher, .group::nachher{
  Position: absolut;
  Inhalt: '';
  Hintergrund: linearer Farbverlauf (nach rechts, #212f4602, #7499d7, #212f4602);
  Höhe: .3rem;
  Breite: 10rem;
}
.group::before{
  oben: -1,5rem;
}
.group::nach{
  unten: -1,5rem;
}
.group1::vor{
  rechts: 0;
}
.group1::nach{
  rechts: 5rem;
}
.group2::nach{
  links: 5rem;
} 

Ok, ändern wir zuerst den Player-Teil wie folgt. Wenn Sie interessiert sind, ziehen Sie bitte den Quellcode herunter und fahren Sie mit dem Codieren fort.

Hintergrund hohles rotierendes Quadrat

<div Klasse="König">
  <div Klasse="Spieler-Layout">
    ...
  </div>
  <div Klasse="Matrix"></div>
</div>
<Stil>
.Matrix{
  Position: absolut;
  Höhe: 17,6rem;
  Breite: 17,6rem;
  Hintergrund: #008cf4;
  oben: 50 %;
  links: 50%;
  verwandeln: 
    verschieben(-50 %, -50 %) drehen(45 Grad);
  Z-Index: 1;
}
</Stil>

Warum beträgt die Höhe hier 17,6rem?

Dies lässt sich ebenfalls mit dem Satz des Pythagoras (a²+b²=c²) berechnen. Da wir wissen, dass die Diagonale der Höhe des Behälters (25rem) entspricht, können wir die Antwort erhalten, indem wir die Quadratwurzel aus 25x25/2 ziehen.

Es gibt eine auffällige Farbe an der Spitze, wo man den Behälter hinstellt, und dann lasst uns ihn verschönern

<Stil>
...
.Grenze{
  Position: absolut;
  Höhe: 17,6rem;
  Breite: 17,6rem;
  Textausrichtung: zentriert;
}
.border::vorher,.border::nachher{
  Position: absolut;
  Anzeige: Block;
  Breite: 100 %;
  Höhe: 2,5rem;
  Farbe: #fff;
  Hintergrund: 
    linearer Farbverlauf (nach oben, #212f4602, #7499d7);
}
.border1::vor{
  Inhalt: ‚Web-Frontend-Abzugsgruppe 784783012‘;
}
.border1::nach{
  unten: 0;
  Inhalt: ,Komm mit mir‘;
  transformieren: drehen (180 Grad);
}
.border2{
  transformieren: drehen (90 Grad);
}
.border2::vor{
  Inhalt: „Front-End lernen“;
}
.border2::nach{
  unten: 0;
  Inhalt: ,,Lass dich angeben';
  transformieren: drehen (180 Grad);
}
</Stil>
...
<div Klasse="Matrix">
  <div Klasse="Rand Rand1"></div>
  <div Klasse="border border2"></div>
</div>

Verwenden Sie zwei Div-Elemente, um einen Rahmen zu erstellen, und fügen Sie dem Rahmen einen linearen Farbverlaufsstil hinzu

Als nächstes werden wir das hohle Quadrat weiter modifizieren. Die Breite und Höhe betrugen vorher 17,6, aber da wir Ränder und Polsterung hinzugefügt haben, werden wir diese entfernen.

.Matrix{
  Position: absolut;
  /* Breite und Höhe ändern */
  Höhe: 16,7rem;
  Breite: 16,7rem;
  oben: 50 %;
  links: 50%;
  transformieren: verschieben (-50 %, -50 %) drehen (45 Grad);
  Z-Index: 1;
  /* Ränder und Abstände hinzufügen */
  Rand: .1rem durchgezogen #7499d7;
  Polsterung: .4rem;
}
.Grenze{
  Position: absolut;
  /* Breite und Höhe ändern */
  Höhe: 16,7rem;
  Breite: 16,7rem;
  Textausrichtung: zentriert;
} 

Animation zur quadratischen Textvergrößerung

Hier wird ein Textschatten erstellt. Skalierung ist noch nicht implementiert. Derzeit wird durch Skalierung der Originaltext geändert, sodass Sie eine neue Kopie des Textes erstellen müssen. Wenn Sie interessiert sind, können Sie es ausprobieren.

.border::vorher,.border::nachher{
  ...
  Animation: Text – 1,5 s linear unendlich;
}
@keyframes text-an {
  0 %{
    Textschatten: 0 0 0 #ffffff;
  }
  100 % {
    Textschatten: 0 -6rem .4rem #ffffff10;
  }
}

Textbutton Produktion

Verwenden Sie die Pseudoklassen :before und :after, um ein Trapez zu erstellen.

<div Klasse="König">
  ...
  <div class="button">Bestätigen</div>
</div>
<Stil>
.Taste{
  Position: relativ;
  Hintergrund: #3e3a31;
  Breite: 6,5rem;
  Höhe: 2rem;
  Zeilenhöhe: 2rem;
  Farbe: #fff;
  oben: 50 %;
  links: 50%;
  transformieren: übersetzen(-50 %, -50 %);
  Z-Index: 11;
  Textausrichtung: zentriert;
  Cursor: Zeiger;
}
.button::vorher,.button::nachher{
  Position: absolut;
  Inhalt: '';
  Anzeige: Inline-Block;
  Breite: 0; 
  Höhe: 0;
  Rahmenbreite: 1,43rem;
  Rahmenstil: durchgezogen;
  Rahmenfarbe:
    #3e3a31 
    transparent 
    transparent  
    transparent;
}
.button::vor{
  transformieren: drehen (-135 Grad);
  links: -1,40rem;
  oben: -1,42rem;
}
.button::nach{
  transformieren: drehen (135 Grad);
  rechts: -1,43rem;
  oben: -1,43rem;
}
</Stil>

Hier endet dieser Abschnitt des Artikels. Es gibt noch einige Details, die Sie beim Üben der Bedienung optimieren können.

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.

<<:  Vue-Beispielcode zur Implementierung einer horizontalen Zeitleiste mit zwei Spalten

>>:  Detaillierte Erläuterung der MySQL Master-Slave-Replikation und der Lese-/Schreibtrennung

Artikel empfehlen

So stoppen Sie die CSS-Animation mittendrin und behalten die Haltung bei

Vorwort Ich bin einmal auf ein schwieriges Proble...

Analyse des Parameterübertragungsprozesses des Treibermoduls in Linux

Deklarieren Sie den Parameternamen, den Typ und d...

Super ausführliches Tutorial zur Installation und Konfiguration von MySQL8.0.22

Hallo zusammen, heute lernen wir die Installation...

MySQL-Datenaggregation und -gruppierung

Wir müssen Daten häufig zusammenfassen, ohne sie ...

So führen Sie mehrere MySQL-Instanzen unter Windows aus

Vorwort Unter Windows können Sie mehrere MySQL-In...

Mehrere Möglichkeiten zum Ändern des MySQL-Passworts

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

So verwenden Sie Docker Swarm zum Erstellen von WordPress

Ursache Ich habe WordPress einst auf Vultr einger...

Beispieloperation MySQL Kurzlink

So richten Sie einen MySQL-Kurzlink ein 1. Überpr...

Eine kurze Diskussion zur Auftragsrekonstruktion: MySQL-Sharding

Inhaltsverzeichnis 1. Ziele 2. Umweltvorbereitung...

Teilen Sie einige wichtige Interviewfragen zum MySQL-Index

Vorwort Ein Index ist eine Datenstruktur, die ein...