Inhaltsverzeichnis
Scoped -Stile: Ein Button -Beispiel
Dynamische Animationen mit Inline -Variablen
Beispiel: Eine "aufgeregte" Taste
Beispiel: Zufällige Blasen
Heim Web-Frontend CSS-Tutorial Die Kraft (und Spaß) des Umfangs mit CSS -benutzerdefinierten Eigenschaften

Die Kraft (und Spaß) des Umfangs mit CSS -benutzerdefinierten Eigenschaften

Apr 14, 2025 am 11:11 AM

Die Kraft (und Spaß) des Umfangs mit CSS -benutzerdefinierten Eigenschaften

CSS Custom Properties (Variablen) bieten leistungsstarke Scoping -Funktionen, die häufig übersehen werden. In diesem Artikel wird untersucht, wie diese Leistung für ein effizientes und dynamisches Styling nutzt.

Während Sie mit der grundlegenden Variablenverwendung von CSS-Variablen vertraut sind (z. B. --size: 1em; font-size: var(--size); ), liegt ihr volles Potenzial in ihren Scoping-Fähigkeiten. Dies ermöglicht eine erhebliche Reduzierung der Code und eine einfachere Wartung.

Lassen Sie uns praktische Anwendungen untersuchen:

Scoped -Stile: Ein Button -Beispiel

Erwägen Sie, Primär- und Sekundärknöpfe zu stylen. Ein traditioneller Ansatz kann separate Stile für jeden Knopftyp und seine verschiedenen Zustände beinhalten (schweben, aktiv). Dies führt zu einem Wiederholungscode.

Mithilfe von Scoped -Variablen können wir einen Basistaststil definieren und dann nur den Farbton für verschiedene Tastentypen variieren:

 .Taste {
  Polsterung: 1REM 1.25Rem;
  Farbe: #fff;
  Schriftgewicht: fett;
  Schriftgröße: 1,25Rem;
  Rand: 1Rem;
  Übergang: Hintergrund 0,1s Leichtigkeit;
  Hintergrund: HSL (var (-Hue), 100%, 50%);
  Umrissfarbe: HSL (var (-Hue), 100%, 80%);
}
.Button: Hover {Hintergrund: HSL (var (-hue), 100%, 40%); }
.Button: Active {Hintergrund: HSL (var (-Hue), 100%, 30%); }

.Button-Primary {--Hue: 233; }
.Button-Sekundär {--Hue: 200; }
Nach dem Login kopieren

Dies reduziert den Code drastisch und vereinfacht die Wartung. Änderungen an der Basis .button Button -Stil aktualisieren automatisch alle Varianten. Darüber hinaus können Sie die Variablen direkt in der HTML für eine noch größere Flexibilität einführen:

 <button class="button" style="--hue: 20;">Überschrieben</button>
Nach dem Login kopieren

Dynamische Animationen mit Inline -Variablen

Die eigentliche Leistung scheint bei der Kombination kundenspezifischer Eigenschaften mit der dynamischen Erzeugung, beispielsweise mit einem Templating -Engine wie Mops oder JavaScript. Dies ermöglicht eine zufällige Inline -Variablenzuordnung und erstellt eindeutige Animationen für jedes Element.

Beispiel: Eine "aufgeregte" Taste

Lassen Sie uns eine Taste erstellen, die subtil schwimmt und dann auf dem Schwebedruck "schüttelt". Anstatt separate Keyframes für jede Animation zu definieren, verwenden wir Variablen, um das Animationsverhalten in einer einzelnen KeyFrames -Definition zu steuern:

 .Taste {
  - -y: -25; --x: 0; -Rotation: 0; -Speed: 2;
  Animation: Flow-and-Shake Calc (var (-Geschwindigkeit) * 1s) Infinite Last-In-Out;
}

.Button: Hover { -Speed: .1; --x: 1; - -y: -1; -Rotation: -1; }

@keyframes flow-and-Shake {
  0%. }
  50%{Transformation: Translate (Calc (var (-x) * 1%), Calc (var (-y) * 1%)) Drehen (Calc (var (-Rotation) * 1DEG)); }
}
Nach dem Login kopieren

Dieser Ansatz reduziert drastisch die Anzahl der benötigten Keyframes -Definitionen, was zu saubereren, wartbaren Code führt.

Beispiel: Zufällige Blasen

Aufbauend darauf können wir eine Szene mit mehreren animierten Blasen mit randomisierten Eigenschaften (Größe, Position, Animationsgeschwindigkeit usw.) erstellen, die alle durch Scoped CSS -Variablen gesteuert werden. Dies zeigt die Leistung der Kombination von variablen Scoping mit dynamischer Inhaltsgenerierung.

Zusammenfassend lässt sich sagen, dass die effektive Verwendung von CSS -benutzerdefinierten Eigenschaften und deren Scoping -Funktionen dynamische und komplexe Stile mit deutlich weniger Code erstellt werden, was zu einer verbesserten Wartbarkeit und Effizienz führt. Die angegebenen Beispiele zeigen, wie dies sowohl für statische als auch für animierte Elemente erreicht werden kann.

Das obige ist der detaillierte Inhalt vonDie Kraft (und Spaß) des Umfangs mit CSS -benutzerdefinierten Eigenschaften. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
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

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

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌
Will R.E.P.O. Crossplay haben?
1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Arbeiten mit GraphQL Caching Arbeiten mit GraphQL Caching Mar 19, 2025 am 09:36 AM

Wenn Sie kürzlich mit GraphQL gearbeitet oder seine Vor- und Nachteile überprüft haben, haben Sie zweifellos Dinge wie "GraphQL nicht unterstützen Caching" oder gehört

Aufbau einer Ethereum -App mit Redwood.js und Fauna Aufbau einer Ethereum -App mit Redwood.js und Fauna Mar 28, 2025 am 09:18 AM

Mit dem jüngsten Aufstieg von Bitcoins Preis über 20.000 USD und kürzlich von 30.000, dachte ich, es lohnt

Erstellen Sie Ihr eigenes Bragdoc mit ELEITY Erstellen Sie Ihr eigenes Bragdoc mit ELEITY Mar 18, 2025 am 11:23 AM

Unabhängig davon, in welcher Phase Sie als Entwickler Sie befinden, haben die Aufgaben, die wir erledigen - ob groß oder klein - einen enormen Einfluss auf unser persönliches und berufliches Wachstum.

Vue 3 Vue 3 Apr 02, 2025 pm 06:32 PM

Es ist aus! Herzlichen Glückwunsch an das Vue -Team, dass es eine massive Anstrengung war und lange kommt. Alle neuen Dokumente auch.

Können Sie gültige CSS -Eigenschaftswerte aus dem Browser erhalten? Können Sie gültige CSS -Eigenschaftswerte aus dem Browser erhalten? Apr 02, 2025 pm 06:17 PM

Ich ließ jemanden mit dieser sehr legitimen Frage einschreiben. Lea hat gerade darüber gebloggt, wie Sie gültige CSS -Eigenschaften selbst aus dem Browser erhalten können. Das ist so.

Ein bisschen auf CI/CD Ein bisschen auf CI/CD Apr 02, 2025 pm 06:21 PM

Ich sage "Website" passt besser als "Mobile App", aber ich mag dieses Rahmen von Max Lynch:

Gestapelte Karten mit klebriger Positionierung und einem Schuss Sass Gestapelte Karten mit klebriger Positionierung und einem Schuss Sass Apr 03, 2025 am 10:30 AM

Neulich habe ich dieses besonders schöne Stück von der Website von Corey Ginnivan entdeckt, auf der eine Sammlung von Karten aufeinander stapelt.

Vergleich von Browsern für reaktionsschnelles Design Vergleich von Browsern für reaktionsschnelles Design Apr 02, 2025 pm 06:25 PM

Es gibt eine Reihe dieser Desktop -Apps, in denen das Ziel Ihre Website gleichzeitig in verschiedenen Dimensionen angezeigt wird. So können Sie zum Beispiel schreiben

See all articles