


So verwenden Sie CSS und D3, um überlappende Schwarz-Weiß-Animationseffekte zu erzielen
Der Inhalt dieses Artikels befasst sich mit der Verwendung von CSS und D3, um überlappende Schwarz-Weiß-Animationseffekte zu erzielen. Der Artikel stellt das Verständnis hierfür in js vor, das einen gewissen Referenzwert hat Ich hoffe, dass es Ihnen hilfreich sein wird.
Effektvorschau

Code-Interpretation
Dom definieren, der Container enthält 3 Unterelemente, jedes Unterelement stellt einen Kreis dar:
<div> <span></span> <span></span> <span></span> </div>
Zentrierte Anzeige:
body { margin: 0; height: 100vh; display: flex; align-items: center; justify-content: center; background-color: black; }
Behältergröße definieren:
.circles { width: 60vmin; height: 60vmin; }
1 Kreis in den Behälter zeichnen:
.circles { position: relative; } .circles span { position: absolute; box-sizing: border-box; width: 50%; height: 50%; background-color: white; border-radius: 50%; left: 25%; }
Variablen definieren und mehrere Kreise zeichnen, jeder Kreis dreht sich um den unteren Mittelpunkt des ersten Kreises herum, um einen größeren Kreis zu bilden:
.circles { --particles: 3; } .circles span { transform-origin: bottom center; --deg: calc(360deg / var(--particles) * (var(--n) - 1)); transform: rotate(var(--deg)); } .circles span:nth-child(1) { --n: 1; } .circles span:nth-child(2) { --n: 2; } .circles span:nth-child(3) { --n: 3; }
Animationseffekte zu untergeordneten Elementen hinzufügen:
.circles span { animation: rotating 5s ease-in-out infinite; } @keyframes rotating { 0% { transform: rotate(0); } 50% { transform: rotate(var(--deg)) translateY(0); } 100% { transform: rotate(var(--deg)) translateY(100%) scale(2); } }
Stellen Sie den Farbmischmodus des untergeordneten Elements so ein, dass die überlappenden Teile dazwischen liegen Unterelemente werden in Schwarz angezeigt:
.circles span { mix-blend-mode: difference; }
Fügen Sie Animationseffekte zum Container hinzu, um die Vergrößerung von Unterelementen auszugleichen und die Animation reibungslos zu verbinden:
.circles { animation: zoom 5s linear infinite; } @keyframes zoom { to { transform: scale(0.5) translateY(-50%); } }
Als nächstes verwenden Sie d3 zur Stapelverarbeitung Dom-Elemente und CSS-Variablen.
Stellen Sie die d3-Bibliothek vor:
<script></script>
Verwenden Sie d3, um Variablen Werte zuzuweisen, die die Anzahl der Kreise darstellen:
const COUNT_OF_PARTICLES = 30; d3.select('.circles') .style('--particles', COUNT_OF_PARTICLES)
Verwenden Sie d3, um Dom-Elemente zu generieren:
d3.select('.circles') .style('--particles', COUNT_OF_PARTICLES) .selectAll('span') .data(d3.range(COUNT_OF_PARTICLES)) .enter() .append('span');
Verwenden Sie d3, um Unterelemente darzustellen. Zuweisung von indizierten Variablen:
d3.select('.circles') .style('--particles', COUNT_OF_PARTICLES) .selectAll('span') .data(d3.range(COUNT_OF_PARTICLES)) .enter() .append('span') .style('--n', (d) => d + 1);
Löschen Sie die relevanten Dom-Elemente in der HTML-Datei und die relevanten CSS-Variablen in der CSS-Datei.
Stellen Sie abschließend die Anzahl der Kreise auf 30 ein:
const COUNT_OF_PARTICLES = 30;
Fertig!
Verwandte Empfehlungen:
So verwenden Sie reines CSS, um einen Animationseffekt ohne DOM-Elemente zu implementieren
So verwenden Sie CSS, um den Effekt eines LKW-Laders zu erzielenDas obige ist der detaillierte Inhalt vonSo verwenden Sie CSS und D3, um überlappende Schwarz-Weiß-Animationseffekte zu erzielen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Ich habe diese Frage neulich bekommen. Mein erster Gedanke ist: seltsame Frage! Bei der Spezifität geht es um Selektoren, und Rules sind keine Selektoren, also ... irrelevant?

Ja, Sie können, und es ist nicht wirklich wichtig in welcher Reihenfolge. Ein CSS -Präprozessor ist nicht erforderlich. Es funktioniert in regulären CSS.

Sie sollten auf jeden Fall weitausgestellte Cache-Header auf Ihren Vermögenswerten wie CSS und JavaScript (und Bilder und Schriftarten und was auch immer) festlegen. Das sagt dem Browser

Viele Entwickler schreiben darüber, wie sie eine CSS -Codebasis pflegen können, aber nicht viele von ihnen schreiben darüber, wie sie die Qualität dieser Codebasis messen. Sicher, wir haben

Haben Sie jemals ein Formular gehabt, das ein kurzes, willkürliches Stück Text akzeptieren musste? Wie ein Name oder was auch immer. Das ist genau das, wofür es ist. Es gibt viele

Ich bin so aufgeregt, nach Zürich, der Schweiz, zur Frontkonferenz zu gehen (liebe diesen Namen und diese URL!). Ich war noch nie in der Schweiz, also bin ich aufgeregt

Eine meiner Lieblingsentwicklungen in der Softwareentwicklung war das Aufkommen von Serverless. Als Entwickler, der die Tendenz hat, sich in den Details festzuhalten

In diesem Beitrag werden wir eine E -Commerce -Store -Demo verwenden, die ich für Netlify erstellt und bereitgestellt habe, um zu zeigen, wie wir dynamische Routen für eingehende Daten erstellen können. Es ist fair


Heiße KI -Werkzeuge

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

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

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

WebStorm-Mac-Version
Nützliche JavaScript-Entwicklungstools

Herunterladen der Mac-Version des Atom-Editors
Der beliebteste Open-Source-Editor

DVWA
Damn Vulnerable Web App (DVWA) ist eine PHP/MySQL-Webanwendung, die sehr anfällig ist. Seine Hauptziele bestehen darin, Sicherheitsexperten dabei zu helfen, ihre Fähigkeiten und Tools in einem rechtlichen Umfeld zu testen, Webentwicklern dabei zu helfen, den Prozess der Sicherung von Webanwendungen besser zu verstehen, und Lehrern/Schülern dabei zu helfen, in einer Unterrichtsumgebung Webanwendungen zu lehren/lernen Sicherheit. Das Ziel von DVWA besteht darin, einige der häufigsten Web-Schwachstellen über eine einfache und unkomplizierte Benutzeroberfläche mit unterschiedlichen Schwierigkeitsgraden zu üben. Bitte beachten Sie, dass diese Software

SublimeText3 Englische Version
Empfohlen: Win-Version, unterstützt Code-Eingabeaufforderungen!

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)