suchen
HeimWeb-FrontendCSS-TutorialMachen Sie eine Echtzeituhr mit einem Kegelgradientengesicht

Machen Sie eine Echtzeituhr mit einem konischen Gradientengesicht

CSS -Gradienten bieten vielseitige Konstruktionsoptionen, wobei häufig radiale und lineare Gradienten verwendet werden. Konic -Gradienten werden jedoch oft übersehen. Dieses Tutorial zeigt, dass ein einzigartiges Uhrengesicht erzeugt wird, das die Fähigkeiten von Kegelgradienten nutzt.

Kegelgradienten verstehen

Konic -Gradienten erzeugen Farbübergänge, die sich um einen zentralen Punkt drehen und mehrere Farbwerte unterstützen. Entscheidend ist, dass der from Wert innerhalb der Funktion conic-gradient() die Rotation oder den Startpunkt definiert. Dieser Winkel kann sogar negativ sein, eine Funktion, die wir ausnutzen werden.

 Hintergrundbild: Conic-Gradient (aus 45 Grad, #6e7dab, #5762d5);

Dieses einfache Beispiel zeigt die Eleganz von Kegelgradienten.

Aufbau der Uhrstruktur

Wir beginnen damit, die HTML für die Uhr und ihre Hände zu strukturieren: (HTML -Code für die Kürze weggelassen, da es sich um Standard -Uhr -Hand -Markup handelt).

Als nächstes stylen wir die Uhr mit CSS und verwenden CSS -Variablen zur einfachen Anpassung. Diese Variablen werden mit JavaScript dynamisch aktualisiert.

 .Uhr {
  / * Taktvariablen *//
  -Stunde-Handfarbe: #000;
  -Stunde-Hand-Teger: 0DEG;
  -Minute-Handfarbe: #000;
  -Minute-Hand-Degree: 0DEG;
  -Sekundengeschäftsfarbe: Hotpink;
  -Sekundenziegende Handgeschwindigkeit: 0deg;

  Position: Relativ;
  Min-Width: 320px;
  Breite: 25 VW;
  Höhe: 25 VW;
  Min-Höhe: 320px;
  Grenzradius: 50%;
  Rand: 0 Auto;
  Grenze: 7px fest #000;
}

/ * Uhr Hände Stile */
.Hand {
  / * ... (Handstile für Kürze weggelassen) ... */
}

Die Eigenschaft mit transform-origin sorgt für die korrekte Handrotation. Benutzerdefinierte Eigenschaften verwalten Handwinkel, die über JavaScript für genaue Zeitmessungen aktualisiert werden.

Implementierung der JavaScript -Logik

Wir wählen das Taktelement aus und definieren die Funktion setDate() :

 const clock = document.getElementById ("Uhr");
Funktion setDate () {
  // Zeitberechnung und Handwinkel -Updates
}
setDate (); // Erstes Setup

In setDate() berechnen wir Handwinkel mit Date() :

 const jetzt = neues Datum ();
const secessangle = now.getSeconds () * 6;
const minsangle = now.getminutes () * 6 Sekundenangle / 60;
const stoundangle = ((jetzt.Gethours () % 12) / 12) * 360 minsangle / 12;

Die Berechnungen sorgen für eine genaue Handpositionierung, die Sekunden, Minuten und Stunden berücksichtigen. Anschließend aktualisieren wir die CSS -Variablen:

 Clock.Style.SetProperty ("-Second-Hand-Degrees", SecondSangle "Deg");
Clock.Style.SetProperty ("-Minute-Hand-Degreen", Minsangle "Deg");
Clock.Style.SetProperty ("-WORT-Hand-Teger", Hourangle "Deg");

Schließlich aktualisiert setInterval(setDate, 1000) die Uhr jede Sekunde.

Integration des Kegelgradienten

Um den Conic -Gradienten zu integrieren, ändern wir die .clock -Stile:

 .Uhr {
  / * ... (vorherige Stile) ... */
  -Start: 0deg;
  --end: 0deg;
  Hintergrund: Conic-Gradient (von Var (-Start), RGB (255 255 255) 2DEG, RGB (0 0 0 / 0,5) var (-Ende), RGB (255 255 255) 2DEG, RGB (0 0 0 / 0,7));
}

Wir stellen --start und --end Variablen, um die Start- und Endwinkel des Gradienten zu steuern. Die setDate() -Funktion wird aktualisiert, um diese Variablen zu berechnen und festzulegen, wobei minsAngle hourAngle unter Verwendung negativer Winkel für nahtlose Übergänge überschreitet. (JavaScript -Code für Gradientenwinkelberechnungen für die Kürze, da es sich um eine einfache Aktualisierung der Variablen für --start und --end basierend auf minsAngle und hourAngle ).

Dies vervollständigt die Uhr mit einem dynamischen konischen Gradientengesicht. Experimentieren Sie mit verschiedenen Farbschemata und Stilen, um Ihre eigenen einzigartigen Uhrendesigns zu erstellen.

Das obige ist der detaillierte Inhalt vonMachen Sie eine Echtzeituhr mit einem Kegelgradientengesicht. 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
Wie viel Spezifität haben @Rules wie @Keyframes und @Media?Wie viel Spezifität haben @Rules wie @Keyframes und @Media?Apr 18, 2025 am 11:34 AM

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?

Können Sie @Media und @Support -Abfragen nisten?Können Sie @Media und @Support -Abfragen nisten?Apr 18, 2025 am 11:32 AM

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.

Schnellschluck -Cache -BustingSchnellschluck -Cache -BustingApr 18, 2025 am 11:23 AM

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

Auf der Suche nach einem Stapel, der die Qualität und Komplexität von CSS überwachtAuf der Suche nach einem Stapel, der die Qualität und Komplexität von CSS überwachtApr 18, 2025 am 11:22 AM

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

Datalist dient dazu, Werte vorzuschlagen, ohne Werte durchzusetzenDatalist dient dazu, Werte vorzuschlagen, ohne Werte durchzusetzenApr 18, 2025 am 11:08 AM

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

Frontkonferenz in ZürichFrontkonferenz in ZürichApr 18, 2025 am 11:03 AM

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

Erstellen einer serverlosen Full-Stack-Anwendung mit Cloudflare-MitarbeiternErstellen einer serverlosen Full-Stack-Anwendung mit Cloudflare-MitarbeiternApr 18, 2025 am 10:58 AM

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

Erstellen dynamischer Routen in einer Nuxt -AnwendungErstellen dynamischer Routen in einer Nuxt -AnwendungApr 18, 2025 am 10:53 AM

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

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

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 vorBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
1 Monate vorBy尊渡假赌尊渡假赌尊渡假赌
Will R.E.P.O. Crossplay haben?
1 Monate vorBy尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Dreamweaver Mac

Dreamweaver Mac

Visuelle Webentwicklungstools

PHPStorm Mac-Version

PHPStorm Mac-Version

Das neueste (2018.2.1) professionelle, integrierte PHP-Entwicklungstool

MantisBT

MantisBT

Mantis ist ein einfach zu implementierendes webbasiertes Tool zur Fehlerverfolgung, das die Fehlerverfolgung von Produkten unterstützen soll. Es erfordert PHP, MySQL und einen Webserver. Schauen Sie sich unsere Demo- und Hosting-Services an.

SAP NetWeaver Server-Adapter für Eclipse

SAP NetWeaver Server-Adapter für Eclipse

Integrieren Sie Eclipse mit dem SAP NetWeaver-Anwendungsserver.

WebStorm-Mac-Version

WebStorm-Mac-Version

Nützliche JavaScript-Entwicklungstools