Verwenden Sie CSS, um einen kreisförmigen Welleneffekt zu erzielen

Verwenden Sie CSS, um einen kreisförmigen Welleneffekt zu erzielen

Auf Mobilgeräten sehe ich häufig kreisförmige Wellengrafiken, um die Menge anzuzeigen. Zuerst dachte ich, dieser Effekt könne nur mit Canvas erzeugt werden, aber später stellte ich fest, dass er auch mit CSS erzeugt werden kann.

Prinzip: Wir alle wissen, dass border-radius:50% setzen. Wenn er weniger als 50 % beträgt, wird es tatsächlich ein unregelmäßiger Kreis. Wir können diese Funktion ausnutzen und Pseudoklassen sowie Transformanimationen verwenden, um einen Welleneffekt zu erzielen.

Schauen wir uns zunächst das Wirkungsdiagramm an:

// CSS-Code

.Welle {
        Position: relativ; 
    Breite: 200px;
    Höhe: 200px;
    Hintergrund: @Farbe;
    Rand: 5px durchgezogen #76daff;
    Randradius: 50 %;
    Überlauf: versteckt;
}
.wave-box::vorher,
.wave-box::nach {
      Inhalt: '';
      Position: absolut;
      oben: 0;
      links: 50%;
      Breite: 400px;
      Höhe: 400px;
      Randradius: 45 %;
      -webkit-transform: übersetzen(-50 %, -70 %);
      transformieren: übersetzen (-50 %, -70 %);
      Hintergrund: rgba(255, 255, 255, 0,5);
      -webkit-animation: 10 s linear unendlich rotieren;
      Animation: 10 s linear unendlich rotieren;
      Z-Index: 10;
}
@keyframes drehen {
  50 % {
            -webkit-transform: verschieben (-50 %, -75 %) drehen (180 Grad);
            transformieren: verschieben (-50 %, -75 %) drehen (180 Grad);
  }
  100 % {
            -webkit-transform: verschieben(-50 %, -70 %) drehen(180 Grad);
            transformieren: verschieben (-50 %, -70 %) drehen (180 Grad);
  }
}
//Oder es ist bequemer, eine vorkompilierte Sprache zu verwenden, hier verwenden wir weniger
.Welle(@Breite; @Höhe; @Farbe) {
    Position: relativ; 
    Breite: @width;
    Höhe: @Höhe;
    Hintergrund: @Farbe;
    Rand: 5px durchgehende @Farbe;
    Randradius: 50 %;
    Überlauf: versteckt;
    &::vor,
    &::nach {
        Inhalt: '';
        Position: absolut;
        oben: 0;
        links: 50%;
        Breite: @width * 2;
        Höhe: @Höhe * 2;
        Randradius: 45 %;
        transformieren: übersetzen (-50 %, -70 %);
        Hintergrund: rgba(255,255,255,0,5);
        Animation: 10 s linear unendlich rotieren;
        Z-Index: 10;
    }
    &::nach {
        Randradius: 47 %;
        Hintergrund: rgba(255,255,255,0,5);
        Animation: 10 s linear drehen, -5 s unendlich;
        Z-Index: 20;
    }
}
//Rufen Sie .wave-box { auf.
    .wave(200px; 200px; #76daff);
}
<!-- Auf der Seite aufgerufen -->
<div Klasse="wave-box"></div>

Zusammenfassen

Oben habe ich Ihnen erklärt, wie Sie mit CSS kreisförmige Welleneffekte erzielen. Ich hoffe, es wird Ihnen helfen. Wenn Sie Fragen haben, hinterlassen Sie mir bitte eine Nachricht und ich werde Ihnen rechtzeitig antworten. Ich möchte auch allen für ihre Unterstützung der Website 123WORDPRESS.COM danken!

<<:  Eine kurze Diskussion über die Synchronisierungslösung zwischen MySQL und Redis Cache

>>:  Webstandards – Lernen Sie die Trennung von Struktur und Präsentation zu verstehen

Artikel empfehlen

So legen Sie den Fokus auf HTML-Elemente fest

Code kopieren Der Code lautet wie folgt: <Körp...

Problem mit der Iframe-QRC-Zuweisung (serverseitig)

Ich bin heute auf dieses Problem gestoßen. Ich hab...

Die beste Lösung zum Zurücksetzen des Root-Passworts von MySQL 8.0.23

Diese Methode wurde am 7. Februar 2021 bearbeitet...

Kurztipps für die Linux-Befehlszeile: So finden Sie eine Datei

Wir alle haben Dateien auf unseren Computern gesp...

Detaillierte Schritte zur Installation von Python 3.7 auf CentOS 6.5

1. Python 3 herunterladen wget https://www.python...

Vollständiger Code zur Implementierung der Vue-Backtop-Komponente

Wirkung: Code: <Vorlage> <div Klasse=&qu...

mysqldump-Parameter, die Sie möglicherweise nicht kennen

Im vorherigen Artikel wurde erwähnt, dass die in ...

Grundlegende Implementierung der AOP-Programmierung in JavaScript

Einführung in AOP Die Hauptfunktion von AOP (Aspe...

100-1% des Inhalts der Website ist Navigation

Website, (100-1)% des Inhalts ist Navigation 1. J...