CSS3 realisiert den leuchtenden Randeffekt

CSS3 realisiert den leuchtenden Randeffekt

Wirkung der Operation:

html

<!-- Dieses Element ist nicht sichtbar. Das DOM wird von JavaScript generiert -->
<div Klasse="root" Stil="Anzeige: keine;">
  <div>
    <div Klasse = "Seite links"></div>
    <div Klasse="Seite oben"></div>
    <div Klasse="Seite rechts"></div>
    <div Klasse = "Seite unten"></div>
  </div>
</div>

CSS

Körper {
  Rand: 0;
  Breite: 100vw;
  Höhe: 100vh;
  Hintergrund: #010326;
}

.Wurzel {
  --Leuchtbreite: 2px;
  --Animationslänge: 2 s;
  --Verzögerungsfaktor: 2;

  Position: absolut;
  links: 50%;
  oben: 50 %;
  Breite: 300px;
  Höhe: 300px;
  transformieren: verschieben (-50 %, -50 %) drehen (45 Grad);

/* Entfernen Sie die Kommentarzeichen aus der folgenden Zeile, um zu sehen, wie dieses System eingerichtet ist */
/* Rahmen: 1px gestrichelt rot; */
  Überlauf: versteckt;
}

.Seite {
  Position: absolut;
  oben: 0;
  links: 0;
}

.Seite.links,
.Seite.rechts {
  Breite: var(--glow_width);
  Höhe: 0;
  Hintergrund: linearer Farbverlauf (nach unten, transparent, #c03225, transparent);
  Animation: HöheAnim var(--animation_length) linear unendlich,
    Hider-Berechnung (var(--delay_factor) * var(--animation_length))
      var(--animation_length) unendlich;
}

.Seite.oben,
.Seite.unten {
  Breite: 100 %;
  Höhe: var(--glow_width);
  Hintergrund: linearer Farbverlauf (nach links, transparent, #c03225, transparent);
  Animation: widthAnim var(--animation_length) 0s linear unendlich,
    Hider-Berechnung (var(--delay_factor) * var(--animation_length))
      var(--animation_length) unendlich;
}

.Seite.rechts {
  links: auto;
  rechts: 0;
  Höhe: 0;
  Animationsverzögerung: calc(var(--animation_length) / 2);
  Animationsrichtung: normal, rückwärts;
}

.Seite.unten {
  oben: automatisch;
  unten: 0;
  Breite: 0;
  Animationsverzögerung: calc(var(--animation_length) / 2);
  Animationsrichtung: normal, rückwärts;
}

@keyframes HöheAnim {
  0% {
    Höhe: 0px;
  }
  50 % {
    Höhe: 300px;
    transformieren: initial;
  }
  100 % {
    transformieren: übersetzen(0, 300px);
  }
}

@keyframes widthAnim {
  0% {
    Breite: 0px;
  }
  50 % {
    Breite: 300px;
    transformieren: initial;
  }
  100 % {
    transformieren: übersetzen(300px, 0px);
  }
}

@keyframes hider {
  0%,
  50 % {
    Deckkraft: 0;
  }
  51%,
  100 % {
    Deckkraft: 1;
  }
}

js

let-Vorlage = `<div Klasse="root" style="transform: übersetzen(-50%, -50%) drehen({{ Wert }})">
<div>
    <div Klasse = "Seite links"></div>
    <div Klasse="Seite oben"></div>
    <div Klasse="Seite rechts"></div>
    <div Klasse = "Seite unten"></div>
  </div>
</div>`

let Segmente = 9
für(lass i = -Segmente; i < Segmente; i++){
  document.body.innerHTML += template.replace("{{ value }}", 90/segments * i + "deg")
}

// document.body.innerHTML += template.replace("{{ value }}", 90/Segmente * 0 + "Grad")

Oben finden Sie Einzelheiten dazu, wie Sie mit CSS3 den Effekt leuchtender Ränder erzielen. Weitere Informationen zum Effekt leuchtender Ränder mit CSS3 finden Sie in den anderen verwandten Artikeln auf 123WORDPRESS.COM!

<<:  MySQL praktische Fensterfunktion SQL-Analyse Klasse Testergebnisse und Lebenshaltungskosten Studenten

>>:  Detaillierte Erläuterung des Prozesses zur Behebung der Ursache für hohe CPU-Auslastung unter Linux

Artikel empfehlen

Erläuterung der Faktoren, die die Datenbankleistung in MySQL beeinflussen

Eine Geschichte über die Datenbankleistung Währen...

Mounten Sie die Festplatte in einem Verzeichnis unter Ubuntu 18.04

Einführung In diesem Artikel wird beschrieben, wi...

Analyse langsamer Einfügefälle aufgrund großer Transaktionen in MySQL

【Frage】 Die INSERT-Anweisung ist eine der am häuf...

Zusammenfassung des fragmentierten Wissens zum Docker-Management

Inhaltsverzeichnis 1. Übersicht 2. Anwendungsbeis...

MySQL Multi-Instance-Bereitstellungs- und Installationshandbuch unter Linux

Was ist MySQL Multi-Instance Einfach ausgedrückt ...

Wettersymbol-Animationseffekt implementiert durch CSS3

Ergebnisse erzielen Implementierungscode html <...

Detaillierte Einführung in den Nobody-Benutzer und Nologin im Unix/Linux-System

Was ist der Nobody-Benutzer in Unix/Linux-Systeme...

So erstellen Sie eine PHP+Nginx+Swoole+MySQL+Redis-Umgebung mit Docker

Betriebssystem: Alibaba Cloud ESC-Instanz centos7...

Implementierung der virtuellen React-Liste

Inhaltsverzeichnis 1. Hintergrund 2. Was ist eine...