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 <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 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 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
Vorwort Ich bin einmal auf ein schwieriges Proble...
Code kopieren Der Code lautet wie folgt: <span...
Manchmal möchten wir eine solche Funktion impleme...
Wirkung Von oben nach unten verblassen Quellcode ...
Laden Sie das Tutorial zum Paket mysql-connector-...
Deklarieren Sie den Parameternamen, den Typ und d...
Hallo zusammen, heute lernen wir die Installation...
Wir müssen Daten häufig zusammenfassen, ohne sie ...
Vorwort Unter Windows können Sie mehrere MySQL-In...
Vorwort: Bei der täglichen Verwendung der Datenba...
Ursache Ich habe WordPress einst auf Vultr einger...
So richten Sie einen MySQL-Kurzlink ein 1. Überpr...
Inhaltsverzeichnis 1. Ziele 2. Umweltvorbereitung...
Es gibt viele Lese-/Schreibtrennungsarchitekturen...
Vorwort Ein Index ist eine Datenstruktur, die ein...