


Erstellen eines Neonlichteffekts mit schwebenden Partikeln mit HTML, CSS und JavaScript
Dec 11, 2024 pm 03:27 PMIn diesem Tutorial erstellen wir mit reinem HTML, CSS und JavaScript einen faszinierenden Neonlichteffekt mit schwebenden Partikeln. Wir werden jede Komponente aufschlüsseln und erkl?ren, wie sie zusammenwirken, um diesen atemberaubenden visuellen Effekt zu erzeugen.
1. Die Kernstruktur verstehen
Beginnen wir mit der Aufschlüsselung der grundlegenden HTML-Struktur:
<!DOCTYPE html> <html> <head> <title>Neon Light Effect</title> <meta name="viewport" content="width=device-width, initial-scale=1.0"> </head> <body> <div> <p>Here's what each element does:</p>
- light-effect: Main container for our neon effect
- light-inner: Creates the core glow effect
- light-outer: Adds an additional layer of luminosity and rotation
2. CSS Variables and Root Setup
First, let's understand our CSS variables:
:root { --blur-size: min(40vw, 40vh); }
Diese Variable ist entscheidend, weil:
- Verwendet min(), um eine reaktionsf?hige Gr??enanpassung sicherzustellen
- Kombiniert Ansichtsfensterbreite (vw) und -h?he (vh)
- Erzeugt einen proportionalen Effekt über verschiedene Bildschirmgr??en hinweg
3. Body-Styling-Deep-Dive
body { margin: 0; overflow: hidden; background: black; height: 100vh; width: 100vw; display: flex; justify-content: center; align-items: center; }
Lassen Sie uns jede Eigenschaft aufschlüsseln:
- margin: 0: Entfernt den Standardabstand
- überlauf: versteckt: Verhindert Bildlaufleisten und enth?lt Partikel
- Hintergrund: Schwarz: Erzeugt Kontrast für den Neoneffekt
- H?he/Breite: 100 VH/VW: Gew?hrleistet eine vollst?ndige Abdeckung des Sichtfensters
- display: flex: Erm?glicht die zentrierte Positionierung
- justify-content/align-items: center: Perfekte Zentrierung
4. Der Hauptcontainer für Lichteffekte
.light-effect { width: var(--blur-size); height: var(--blur-size); position: fixed; top: 50%; left: 50%; transform: translate(-50%, -50%); filter: blur(calc(var(--blur-size) * 0.25)); animation: pulseNeon 8s ease-in-out infinite; }
Wichtige Aspekte erkl?rt:
- Gr??enanpassung: Verwendet die CSS-Variable für responsive Abmessungen
-
Positionierung:
- Position: fest: Sorgt für Stabilit?t beim Scrollen
- Oben/Links: 50 %: Positionen in der Mitte des Ansichtsfensters
- transform: Translate(-50%, -50%): Perfekte Zentrierung
-
Unsch?rfeeffekt:
- Dynamische Unsch?rfe basierend auf der Gr??e
- Erzeugt einen weichen, realistischen Glanz
-
Animation:
- 8 Sekunden Dauer für einen gleichm??igen Effekt
- Einfaches Ein-Aus-Timing für natürliche Bewegung
5. Details der inneren Lichtschicht
.light-inner { position: absolute; width: 100%; height: 100%; background: radial-gradient(circle, rgba(138, 43, 226, 0.2) 0%, rgba(72, 61, 139, 0.15) 30%, rgba(0, 0, 255, 0.1) 50%, rgba(255, 255, 255, 0) 70%); mix-blend-mode: screen; }
Gradientenanalyse:
-
Mitte (0 %):
- Violettton mit 20 % Deckkraft
- Erzeugt Kernhelligkeit
-
Mittelschicht (30 %):
- Dunkleres Lila bei 15 % Deckkraft
- Fügt Tiefe hinzu
-
?u?ere Schicht (50 %):
- Blauton bei 10 % Deckkraft
- Erstellt einen übergang
-
Rand (70 %):
- Verschwindet zu transparent
- Sanfte Kantenüberblendung
6. Details der ?u?eren Lichtschicht
.light-outer { position: absolute; width: 100%; height: 100%; background: radial-gradient(circle, rgba(255, 255, 255, 0.15) 0%, rgba(138, 43, 226, 0.1) 40%, rgba(0, 0, 255, 0.05) 60%, rgba(255, 255, 255, 0) 80%); animation: rotateGradient 10s linear infinite; mix-blend-mode: screen; }
Aufschlüsselung der Spezialeffekte:
-
Verlaufsstruktur:
- Wei?es Zentrum für Intensit?t
- Lila Mitte für Farbe
- Blaue Au?enseite für Tiefe
-
Animation:
- 10-Sekunden-Rotation
- Lineares Timing für reibungslose Bewegungen
-
Mischen:
- Bildschirmmodus für Leuchteffekt
- Verbessert den Glanz und die Farbmischung
7. Animations-Keyframes erkl?rt
<!DOCTYPE html> <html> <head> <title>Neon Light Effect</title> <meta name="viewport" content="width=device-width, initial-scale=1.0"> </head> <body> <div> <p>Here's what each element does:</p>
- light-effect: Main container for our neon effect
- light-inner: Creates the core glow effect
- light-outer: Adds an additional layer of luminosity and rotation
2. CSS Variables and Root Setup
First, let's understand our CSS variables:
:root { --blur-size: min(40vw, 40vh); }
Animationsdetails:
-
pulseNeon:
- Beh?lt die Mittelposition beim Verschieben bei
- Skalen zwischen 1 und 1,1
- Erzeugt einen Atmungseffekt
-
rotateGradient:
- Vollst?ndige 360-Grad-Drehung
- Kontinuierliche Bewegung
- Fügt Dynamik hinzu
8. Tiefer Einblick in das Partikelsystem
body { margin: 0; overflow: hidden; background: black; height: 100vh; width: 100vw; display: flex; justify-content: center; align-items: center; }
Partikeleigenschaften:
-
Basispartikel:
- Feste Positionierung
- Halbtransparentes Wei?
- Kreisform
- Keine Zeigerereignisse
-
Gr??envarianten:
- Responsive Gr??enanpassung mit min()
- Unterschiedliche Animationsgeschwindigkeiten
- Beh?lt die Proportionen auf allen Ger?ten bei
9. Partikelbewegungsanimation
.light-effect { width: var(--blur-size); height: var(--blur-size); position: fixed; top: 50%; left: 50%; transform: translate(-50%, -50%); filter: blur(calc(var(--blur-size) * 0.25)); animation: pulseNeon 8s ease-in-out infinite; }
Bewegungsaufschlüsselung:
-
Start (0%):
- Beginnen Sie unterhalb des Ansichtsfensters
- Unsichtbarer Zustand
-
Einblenden (20 %):
- Sanfter Deckkraftübergang
-
Hauptbewegung (20-80%):
- Volle Sichtbarkeit
- Stetige Aufw?rtsbewegung
-
Ausstieg (80-100 %):
- Ausblendeffekt
- Leichte überlappung über dem Ansichtsfenster
10. Dynamische Partikelerzeugung
.light-inner { position: absolute; width: 100%; height: 100%; background: radial-gradient(circle, rgba(138, 43, 226, 0.2) 0%, rgba(72, 61, 139, 0.15) 30%, rgba(0, 0, 255, 0.1) 50%, rgba(255, 255, 255, 0) 70%); mix-blend-mode: screen; }
Funktionsanalyse:
-
Partikelerstellung:
- Dynamische DOM-Elementerstellung
- Zuf?llige Gr??enzuweisung
- Probabilistische Verteilung
-
Positionierungslogik:
- Zuf?llige horizontale Platzierung
- Zuf?llige Animationsverz?gerung
-
Speicherverwaltung:
- Automatische Bereinigung
- Dauer je nach Gr??e
- Verhindert Speicherlecks
11. Responsive Design-Implementierung
.light-outer { position: absolute; width: 100%; height: 100%; background: radial-gradient(circle, rgba(255, 255, 255, 0.15) 0%, rgba(138, 43, 226, 0.1) 40%, rgba(0, 0, 255, 0.05) 60%, rgba(255, 255, 255, 0) 80%); animation: rotateGradient 10s linear infinite; mix-blend-mode: screen; }
Responsive überlegungen:
-
Tablet-Ger?te (≤768px):
- Erh?hte relative Gr??e
- Beh?lt die Proportionen bei
-
Mobile Ger?te (≤480px):
- Maximale relative Gr??e
- Optimiert für kleine Bildschirme
12. Leistungsoptimierung
@keyframes pulseNeon { 0% { transform: translate(-50%, -50%) scale(1); } 50% { transform: translate(-50%, -50%) scale(1.1); } 100% { transform: translate(-50%, -50%) scale(1); } } @keyframes rotateGradient { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } }
Optimierungsstrategien:
-
Reaktionsintervalle:
- Weniger Partikel auf Mobilger?ten
- Passt sich den Ger?tefunktionen an
-
Speicherverwaltung:
- L?scht alte Intervalle
- Verhindert mehrere Instanzen
-
Ereignisbehandlung:
- Reagiert auf Fenstergr??en?nderung
- Erh?lt die Leistung
Abschluss
Dieser Effekt kombiniert mehrere Ebenen der Raffinesse:
- Dynamische CSS-Variablen für reaktionsf?hige Gr??enanpassung
- Komplexe Farbverlaufskombinationen für realistischen Glanz
- Partikelsystem für zus?tzliche Tiefe
- Leistungsoptimierungen für einen reibungslosen Betrieb
- Responsives Design für alle Ger?te
Das Ergebnis ist ein fesselnder Neoneffekt, der jedes Webprojekt mit minimalen Auswirkungen auf die Leistung verbessern kann.
Das obige ist der detaillierte Inhalt vonErstellen eines Neonlichteffekts mit schwebenden Partikeln mit HTML, CSS und JavaScript. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Hei?e KI -Werkzeuge

Undress AI Tool
Ausziehbilder kostenlos

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Clothoff.io
KI-Kleiderentferner

Video Face Swap
Tauschen Sie Gesichter in jedem Video mühelos mit unserem v?llig kostenlosen KI-Gesichtstausch-Tool aus!

Hei?er Artikel

Hei?e Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Hei?e Themen

CSS -Bl?cke Seitenrenderung, da Browser inline und externe CSS standardm??ig als wichtige Ressourcen anzeigen, insbesondere mit importierten Stylesheets, Header gro?er Mengen an Inline -CSS und nicht optimierten Medienfragestilen. 1. extrahieren kritische CSS und einbetten Sie es in HTML ein; 2. Verz?gerung des Ladens nichtkritischer CSS durch JavaScript; 3.. Verwenden Sie Medienattribute, um das Laden wie Druckstile zu optimieren. 4. Komprimieren und verschmelzen CSS, um Anfragen zu reduzieren. Es wird empfohlen, Tools zum Extrahieren von Schlüssel -CSS zu verwenden, REL = "Vorspannung" zu kombinieren, und verwenden Sie die asynchrone Belastung und verwenden Sie die Medienverz?gerungsladeverletzung, um eine überm??ige Aufteilung und eine komplexe Skriptsteuerung zu vermeiden.

ThebestApproachforcssDependsonTheProject'Sspecificneeds.forlargerProjects, externalcssisbetterDuetomaintainability;

Csssmostlycase-unempfindlich, buturlsandfontfamilynamesarecase-sensitiv.1) Eigenschaften und ValueslikeColor: rot; sensitiv.2) URLSMUTMATTHESERVER'SCASE, z.

AutoPrefixer ist ein Tool, das die Pr?fixe von Anbietern automatisch zu CSS -Attributen basierend auf dem Zielbrowserbereich hinzufügt. 1. Es l?st das Problem, die Pr?fixe mit Fehlern manuell aufrechtzuerhalten. 2. Arbeiten Sie das POSTCSS-Plug-in-Formular durch, analysieren Sie CSS, analysieren Sie Attribute, die vorangestellt werden müssen, und generieren Sie den Code gem?? Konfiguration. 3.. 4. Notizen enthalten nicht manuelles Hinzufügen von Pr?fixen, Konfigurationsaktualisierungen, Pr?fixe nicht alle Attribute, und es wird empfohlen, sie mit dem Pr?prozessor zu verwenden.

CSSCOUNTERSCANATOMATIONSNUMBERSEctions und.1) usecounter-resettoinitialize, counter-IncrementtoIncrease, und Counter () orcounters () todisplayValues.2) kombinierte withjavascriptfordynamiccontentToEsSureAccurateupdates.

In CSS sind Selektor- und Attributnamen fallempfindlich, w?hrend Werte, Namen, URLs und benutzerdefinierte Attribute fallempfindlich sind. 1. Die Auswahl- und Attributnamen sind unempfindlich, z. B. Hintergrundfarbe und Hintergrundfarbe sind gleich. 2. Die hexadezimale Farbe im Wert ist fallempfindlich, aber die benannte Farbe ist fallempfindlich, wie rot und rot ist ungültig. 3. Die URLs sind fallsempfindlich und k?nnen zu Ladeproblemen von Dateien führen. 4. Benutzerdefinierte Eigenschaften (Variablen) sind fallempfindlich und Sie müssen auf die Konsistenz des Falles bei der Verwendung achten.

Theconic-Gradient () FunctionincsScreateScircular GradecentStroTRotateColorStopsaroundAcentralPoint.1.ISISIDEALFORPieCharts, Fortschrittsindikatoren, Farbw?sche und DecorativeBackgrounds.2
