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

Docker stellt MySQL bereit, um Beispielcode für eine Remoteverbindung zu erreichen

1. Docker durchsucht MySQL查看mysql版本 2. Docker Pul...

Beispielcode zur Implementierung der olympischen Ringe mit reinem HTML+CSS

Rendern Code - Nehmen Sie die blauen und gelben R...

Setzen Sie den Eingang auf schreibgeschützt über deaktiviert und schreibgeschützt

Es gibt zwei Möglichkeiten, schreibgeschützte Eing...

MySQL Serie 4 SQL-Syntax

Inhaltsverzeichnis Tutorial-Reihe 1. Einführung u...

Lösung für Indexfehler in MySQL aufgrund unterschiedlicher Feldzeichensätze

Was ist ein Index? Warum einen Index erstellen? I...

JavaScript implementiert Feuerwerkseffekte mit Soundeffekten

Ich habe eine halbe Stunde gebraucht, um den Code...

Praktisches Tutorial zum Ändern des MySQL-Zeichensatzes

Vorwort: In MySQL unterstützt das System viele Ze...

Lösung für Linux, das nicht alle Befehle unterstützt

Was soll ich tun, wenn Linux nicht alle Befehle u...

Node.js versendet E-Mails basierend auf dem STMP-Protokoll und dem EWS-Protokoll

Inhaltsverzeichnis 1 Node.js-Methode zum Senden v...

Vue-Komponenten Dynamische Komponenten detaillierte Erklärung

Inhaltsverzeichnis Zusammenfassen Zusammenfassen ...

Problem mit Zeitzonenfehler im Docker-Container

Inhaltsverzeichnis Hintergrund Frage Problemanaly...