Neonlichteffekte mit reinem CSS3 umgesetzt

Neonlichteffekte mit reinem CSS3 umgesetzt

Dies ist der zu erzielende Effekt:

Sie können sehen, dass ein neonlichtähnlicher Effekt erzeugt wird, wenn die Maus in die Schaltfläche hinein bewegt wird; wenn die Maus aus der Schaltfläche herausbewegt wird, bewegt sich ein Lichtstrahl entlang einer festen Bahn (um die Schaltfläche herum).

Neonlicht-Umsetzung

Die Implementierung von Neonlicht ist relativ einfach und kann mithilfe mehrerer Schatten erfolgen. Wir fügen dem Button drei Schattenebenen hinzu, wobei der Unschärferadius jeder Schattenebene von innen nach außen zunimmt. Wenn mehrere Schatten übereinander gelegt werden, kann ein Effekt ähnlich dem von Neonlicht entstehen. Der Code für diesen Abschnitt lautet wie folgt:

HTML:

 <div Klasse="Licht">
    Neon-Knopf
 </div>

CSS:

Körper {
 Hintergrund: #050901;   
}
.Licht {
  Breite: Inhalt anpassen;
  Polsterung: 25px 30px;
  Farbe: #03e9f4;
  Schriftgröße: 24px;
  Texttransformation: Großbuchstaben;
  Übergang: 0,5 s;
  Buchstabenabstand: 4px;
  Cursor: Zeiger;
}
.Licht:schweben {
  Hintergrundfarbe: #03e9f4;
  Farbe: #050801;
  Kastenschatten: 0 0 5px #03e9f4,
              0 0 25px #03e9f4,
              0 0 50px #03e9f4,
              0 0 200px #03e9f4;
}

Der endgültige Effekt ist wie folgt:

Implementierung von Moving Beams

Obwohl es so aussieht, als würde sich nur ein Strahl entlang der Kante des Knopfes bewegen, handelt es sich tatsächlich um die Überlagerung von vier Strahlen, die sich in verschiedene Richtungen bewegen. Ihre Bewegungsrichtungen sind: von links nach rechts, von oben nach unten, von rechts nach links und von unten nach oben, wie in der folgenden Abbildung dargestellt:

Bei diesem Vorgang kreuzen sich die Lichtstrahlen. Betrachtet man nur den Rand des Knopfes, sieht es so aus, als ob sich nur ein Lichtstrahl im Uhrzeigersinn bewegt.

Hier sind einige Punkte, die bei der konkreten Umsetzung zu beachten sind:

  • Die vier Strahlen entsprechen den vier Unter-Divs von div.light. Ihre Anfangspositionen sind ganz links, ganz oben, ganz rechts und ganz unten auf der Schaltfläche und sie bewegen sich wiederholt in eine feste Richtung.
  • Jeder Strahl ist sehr klein in Höhe oder Breite (nur 2px) und hat einen Farbverlauf von transparent zu neon, sodass er wie eine Konvergenz aussieht (keine vollständige Linie).
  • Damit wir eine Bewegung im Uhrzeigersinn sehen, müssen die vier Strahlen in der richtigen Reihenfolge bewegt werden. Zuerst beginnt sich der Strahl über dem Knopf zu bewegen, nach einer Weile bewegt sich der Strahl rechts, nach einer Weile bewegt sich der Strahl darunter und nach einer Weile bewegt sich der Strahl links. Es gibt eine Verzögerung bei der Bewegung zwischen den Lichtstrahlen. Nehmen wir beispielsweise den oberen und rechten Lichtstrahl: Wenn sie sich gleichzeitig zu bewegen beginnen, verpassen die beiden Lichtstrahlen die Möglichkeit, sich zu kreuzen, da die Bewegungsdistanz rechts kleiner ist als die Bewegungsdistanz oben. Wir sehen dann unzusammenhängende, inkohärente Lichtstrahlen. Da die Bewegungsdistanz des rechten Strahls kürzer ist, müssen wir, damit der obere Strahl ihn „einholen“ kann, den „Abgang“ des rechten Strahls verzögern. Daher müssen wir ihm eine Animationsverzögerung zuweisen. In ähnlicher Weise benötigen auch die beiden anderen Strahlen eine Animationsverzögerung. Eine Verzögerung von etwa 0,25 Sekunden zwischen mehreren Animationen ist ausreichend.
  • Es reicht aus, den Strahl um den Rand der Schaltfläche anzuzeigen. Stellen Sie daher einen versteckten Überlauf für div.light ein.

Der Code lautet wie folgt:

HTML:

<div Klasse="Licht">
    <div></div>
    <div></div>
    <div></div>
    <div></div>
    Neon-Knopf
</div>

CSS:

.Licht {
  Position: relativ;
  Polsterung: 25px 30px;
  Farbe: #03e9f4;
  Schriftgröße: 24px;
  Texttransformation: Großbuchstaben;
  Übergang: 0,5 s;
  Buchstabenabstand: 4px;
  Cursor: Zeiger;
  Überlauf: versteckt;
}
.Licht:schweben {
  Hintergrundfarbe: #03e9f4;
  Farbe: #050801;
  Kastenschatten: 0 0 5px #03e9f4,
              0 0 25px #03e9f4,
              0 0 50px #03e9f4,
              0 0 200px #03e9f4;
}
.light div {
  Position: absolut;
}
.light div:nth-child(1){
  Breite: 100 %;
  Höhe: 2px;
  oben: 0;
  links: -100%;
  Hintergrund: linearer Farbverlauf (nach rechts, transparent, #03e9f4);
  Animation: Animate1 1s linear unendlich;
}
.light div:nth-child(2){
  Breite: 2px;
  Höhe: 100%;
  oben: -100%;
  rechts: 0;
  Hintergrund: linearer Farbverlauf (nach unten, transparent, #03e9f4);
  Animation: Animate2 1s linear unendlich;
  Animationsverzögerung: 0,25 s;
}
.light div:nth-child(3){
  Breite: 100 %;
  Höhe: 2px;
  unten: 0;
  rechts: -100%;
  Hintergrund: linearer Farbverlauf (nach links, transparent, #03e9f4);
  Animation: Animate3 1s linear unendlich;
  Animationsverzögerung: 0,5 s;
}
.light div:nth-child(4){
  Breite: 2px;
  Höhe: 100%;
  unten: -100 %;
  links: 0;
  Hintergrund: linearer Farbverlauf (nach oben, transparent, #03e9f4);
  Animation: Animate4 1s linear unendlich;
  Animationsverzögerung: 0,75 s;
}
@keyframes animieren1 {
  0% {
    links: -100%;
  }
  50 %, 100 % {
    links: 100 %;
  }
}
@keyframes animate2 {
  0% {
    oben: -100%;
  }
  50 %, 100 % {
    oben: 100 %;
  }
}
@keyframes animate3 {
  0% {
    rechts: -100%;
  }
  50 %, 100 % {
    rechts: 100%;
  }
}
@keyframes animate4 {
  0% {
    unten: -100 %;
  }
  50 %, 100 % {
    unten: 100 %;
  }
}

Dadurch wird die Wirkung des Bildes am Anfang des Artikels erzielt.

Neonlichter in verschiedenen Farben

Was ist, wenn Sie Neonlichteffekte in anderen Farben wünschen? Muss ich die entsprechenden Farben noch einmal anpassen? Tatsächlich haben wir eine einfachere Methode, nämlich die Verwendung von filter:hue-rotate(20deg), um den Farbton von div.light und allen internen Elementen auf einmal zu ändern.

Die CSS-Funktion hue-rotate() dreht den Farbton eines Elements und seines Inhalts.

Der endgültige Effekt ist wie folgt:

Oben sind die Details der Neonlichteffekte aufgeführt, die ausschließlich mit CSS3 implementiert wurden. Weitere Informationen zur Implementierung von Neonlichteffekten mit CSS3 finden Sie in den anderen verwandten Artikeln auf 123WORDPRESS.COM!

<<:  SQL-Abfrage für Benutzer, die sich an mindestens n aufeinanderfolgenden Tagen angemeldet haben

>>:  So verwenden Sie den Vue-Video-Player für eine Live-Übertragung

Artikel empfehlen

So verwenden Sie den EXPLAIN-Befehl in SQL

Bei unserer täglichen Arbeit führen wir manchmal ...

Shell-Skript zur Überwachung des MySQL-Master-Slave-Status

Geben Sie ein Shell-Skript unter Linux frei, um d...

Zusammenfassung einiger Vorschläge zum HTML-Code-Schreibstil

Das Protokoll der Ressourcendatei weglassen Es wi...

Der Prozess der Installation von SVN auf Ubuntu 16.04.5LTS

Dieser Artikel stellt kurz den Prozess der Einric...

Detaillierte Erklärung zur Verwendung des Alias-Befehls unter Linux

1. Verwendung von Pseudonymen Mit dem Alias-Befeh...

So legen Sie eine feste IP-Adresse in einer virtuellen CentOS7-Maschine fest

Da meine Entwicklungsumgebung darin besteht, Cent...

MySQL-Datenbankterminal – allgemeine Befehlscodes für Vorgänge

Inhaltsverzeichnis 1. Benutzer hinzufügen 2. Ände...

So erhalten Sie Root-Berechtigungen in einem Docker-Container

Zunächst muss Ihr Container laufen Sie können die...

Detaillierte Erläuterung der Angular-Datenbindung und ihrer Implementierung

Inhaltsverzeichnis Vorwort Was ist Datenbindung? ...

Bringen Sie Ihnen bei, wie Sie die Zeigerposition in Javascript erhalten

Die Methode zum Abrufen der Zeigerposition in Jav...