suchen
HeimWeb-FrontendCSS-TutorialCSS -Olympische Ringe

CSS Olympic Rings

Dieser Artikel besucht ein Projekt 2020: Animation 3D -Olympische Ringe. Der ursprüngliche SCSS -Code fehlte zwar nicht moderner Effizienz. Diese aktualisierte Version verwendet reine CSS, wodurch trigonometrische Funktionen und relative Farbsyntax für sauberere, prägnantere Code genutzt werden. Das Ergebnis ist eine leistungsfähigere und elegantere Lösung.

Der 3D -Effekt wird unter Verwendung von Layered Divs erreicht. Jeder Ring umfasst 16 Schichten, jeweils ein etwas anderer Schatten, um einen Beleuchtungseffekt zu erzielen. Die Größe und Positionierung der Schichten erzeugen die Illusion eines dreidimensionalen Rings.

HTML -Struktur

Die HTML besteht aus fünf <div> Elementen (jeweils pro Ring), die jeweils 16 verschachtelte <code><i></i> Elemente enthalten, die die Schichten darstellen. Jedes <i></i> Element verwendet eine benutzerdefinierte Eigenschaft --i (zwischen 1 und 16), um sein Styling über CSS zu steuern. Emmet kann das Erstellen der sich wiederholenden HTML -Struktur vereinfachen. Hier ist ein Ausschnitt:

<div class="rings">
  <div class="ring ring__1">
    <i style="--i: 1;"></i>
    <i style="--i: 2;"></i>
    <!-- ... more layers ... -->
    <i style="--i: 16;"></i>
  </div>
  <!-- ... more rings ... -->
</div>

Die --i Eigenschaft dient als Multiplikator in CSS -Berechnungen für Schichtposition, Größe und Farbe.

CSS Styling

Der Container .rings verwendet position: relative, um die absolut positionierten Ringe zu enthalten. Jedes .ring ist absolut positioniert und seine <i></i> Kinder erben eine absolute Positionierung. border-radius: 50% erstellt die kreisförmige Form. Eine benutzerdefinierte Eigenschaft --ringColor setzt die Grundfarbe.

Die auf einen negativen Wert festgelegte inset -Mobilie positioniert die Schichten außerhalb des .ring -Elements und definiert ihre Größe effektiv. Die mit --translateZ berechnete --i benutzerdefinierte Eigenschaft positioniert Schichten entlang der Z-Achse, um Tiefe zu erstellen:

.ring {
  position: absolute;
  --ringColor: #0085c7;
  i {
    position: absolute;
    inset: -100px;
    border-radius: 50%;
    --translateZ: calc(var(--i) * 2px);
    transform: rotateY(-45deg) translateZ(var(--translateZ));
  }
}

Schattierung mit relativer Farbsyntax

Schattierung wird unter Verwendung der relativen Farbsyntax erreicht. Eine aus --light berechnete 🎜> -Senformation ändert die Leichtigkeit von --i: --ringColor

i {
  --light: calc(var(--i) / 16);
  --layerColor: rgb(from var(--ringColor) calc(r * var(--light)) calc(g * var(--light)) calc(b * var(--light)));
  border: var(--size) var(--layerColor) solid;
  outline: var(--size) var(--layerColor) solid;
}
Dies verdunkelt die Schichten nach hinten dynamisch und verbessert den 3D -Effekt. Eine Umrisse wird hinzugefügt, um sicherzustellen, dass die Schattierung sowohl an den inneren als auch an den Außenkanten des Rings sichtbar ist.

formen und animation

Die mit der

-Funktion berechnete --size benutzerdefinierte Eigenschaft bestimmt die Randdicke und erzeugt die kreisförmige Form des Rings: sin()

i {
  --size: calc(sin(var(--i) * 11.25deg) * 16px);
  /* ... other styles ... */
}
Animation wird mit

und der @keyframes Eigenschaft implementiert. Die Animationsdauer jedes Rings wird durch eine benutzerdefinierte Eigenschaft animation kontrolliert, wobei eine negative Verzögerung die Animationen stolpert. --duration

Abschluss und Optimierung

Eine leichte X-Achse-Rotation am .rings -Container fügt die Perspektive hinzu. Pseudo-Elemente (::after) erzeugen verschwommene Schatten, wodurch der 3D-Effekt weiter verbessert wird. Das endgültige CSS ist hoch optimiert und wiederverwendbar, was die Kraft moderner CSS -Merkmale demonstriert. Der Code ist wesentlich effizienter und wartbarer als die ursprüngliche SCSS -Version.

Das obige ist der detaillierte Inhalt vonCSS -Olympische Ringe. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Flexbox vs Grid: Soll ich sie beide lernen?Flexbox vs Grid: Soll ich sie beide lernen?May 10, 2025 am 12:01 AM

Ja, youShouldlearnbothflexBoxandgrid.1) FlexBoxiSidealfore-dimensional, flexibelayoutslikenAvigationMenus.2) GridexcelStwo-dimensional, komplexDesignsuchasmagazinelayouts.3) Kombininierungs-Botenhances-Flexible-und-und -Anteilungskraft, und -forsfossivität,

Orbitalmechanik (oder wie ich eine CSS -Keyframes -Animation optimiert habe)Orbitalmechanik (oder wie ich eine CSS -Keyframes -Animation optimiert habe)May 09, 2025 am 09:57 AM

Wie sieht es aus, Ihren eigenen Code neu zu gestalten? John Rhea nimmt eine alte CSS -Animation auseinander, die er geschrieben hat, und geht durch den Denkprozess der Optimierung.

CSS -Animationen: Ist es schwierig, sie zu erstellen?CSS -Animationen: Ist es schwierig, sie zu erstellen?May 09, 2025 am 12:03 AM

CsSanimationsarenotinherenthardbutRequirePractICEANDUnDing-fordertofcsPropertiesandTimingfunktionen.1) StartwithsimpleanimationslikescalingabuttononoversKeyFrames.2) useaSingFunctionslikecubic-BezierForteffects, SuchasabouNects, SuchasabouNects,, zu

@Keyframes CSS: Die am häufigsten verwendeten Tricks@Keyframes CSS: Die am häufigsten verwendeten TricksMay 08, 2025 am 12:13 AM

@KeyFramesispopulardUeToitSverSatility und PowerIncreatingsmoothcsSanimations.KectrickSinclude: 1) DefiningsmoothTransitionSbetTates, 2) AnimatingMultipleProperTiesimultan, 3) mit VendorprefixesforBrowserCompatible, 4) Kombinieren, 4) Kombinieren, 4) Kombinieren, 4) Kombinieren, 4) Kombinieren

CSS -Zähler: Eine umfassende Anleitung zur automatischen NummerierungCSS -Zähler: Eine umfassende Anleitung zur automatischen NummerierungMay 07, 2025 pm 03:45 PM

CSSCOUSTERSSARUSTOMANAGEAUTOMATICNUMBERINGINWEBDEsigns.1) Sie konzipieren SieForsofcontents, ListItems und CustomNumbering.2) AdvanceduSesincnednumberingSystem.3) CHEFORDIGESINCLUDSERCOMPATIBILIBLEISE.4) CreativeuSinvolvecustInance

Moderne Bildlaufschatten mit scrollengetriebenen AnimationenModerne Bildlaufschatten mit scrollengetriebenen AnimationenMay 07, 2025 am 10:34 AM

Die Verwendung von Scroll -Schatten, insbesondere für mobile Geräte, ist ein subtiles Stück UX, das Chris zuvor abgedeckt hat. Geoff deckte einen neueren Ansatz ab, der die Immobilie der Animationszeit verwendet. Hier ist ein anderer Weg.

Überprüfung der BildkartenÜberprüfung der BildkartenMay 07, 2025 am 09:40 AM

Lassen Sie uns eine kurze Auffrischung durchlaufen. Bildkarten datieren bis zu HTML 3.2, wobei zuerst die serverseitigen Karten und dann die clientseitigen Karten klickbare Regionen über ein Bild mit Karten- und Bereichselementen definiert sind.

Stand der Entwickler: Eine Umfrage für jeden EntwicklerStand der Entwickler: Eine Umfrage für jeden EntwicklerMay 07, 2025 am 09:30 AM

Die Umfrage von State of Devs ist nun offen für die Teilnahme und deckt im Gegensatz zu früheren Umfragen alles außer Code ab: Karriere, Arbeitsplatz, aber auch Gesundheit, Hobbys und mehr. 

See all articles

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

Video Face Swap

Video Face Swap

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

Heiße Werkzeuge

DVWA

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

PHPStorm Mac-Version

PHPStorm Mac-Version

Das neueste (2018.2.1) professionelle, integrierte PHP-Entwicklungstool

MinGW – Minimalistisches GNU für Windows

MinGW – Minimalistisches GNU für Windows

Dieses Projekt wird derzeit auf osdn.net/projects/mingw migriert. Sie können uns dort weiterhin folgen. MinGW: Eine native Windows-Portierung der GNU Compiler Collection (GCC), frei verteilbare Importbibliotheken und Header-Dateien zum Erstellen nativer Windows-Anwendungen, einschließlich Erweiterungen der MSVC-Laufzeit zur Unterstützung der C99-Funktionalität. Die gesamte MinGW-Software kann auf 64-Bit-Windows-Plattformen ausgeführt werden.

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Dreamweaver Mac

Dreamweaver Mac

Visuelle Webentwicklungstools