Inhaltsverzeichnis
Vorbereitung
Farbschemata, die den Benutzereinstellungen entsprechen
Stellen Sie benutzerdefinierte Eigenschaften auf der Maleinheit der Malerei ein
Heim Web-Frontend CSS-Tutorial Die Ehre bevorzugt das Farbschema in der CSS-Farb-API mit benutzerdefinierten Eigenschaften

Die Ehre bevorzugt das Farbschema in der CSS-Farb-API mit benutzerdefinierten Eigenschaften

Mar 16, 2025 am 10:28 AM

CSS -Lack -API und benutzerdefinierte Eigenschaften: Passen Sie den Malerffekt an die Benutzerpräferenzen an

Die CSS Paint API war in den letzten Jahren eine aufregende Technologie. Es ermöglicht Entwicklern, benutzerdefinierte Zeichnungsarbeitseinheiten zu erstellen und zu steuern, wie sie durch CSS rendern. Durch die Kombination von Medienabfrage und CSS-Attributen für prefers-color-scheme können wir das Erscheinungsbild der Maleinheit der Malerei dynamisch an die hellen und dunklen Moduseinstellungen des Benutzers anpassen.

In diesem Artikel wird eine Landschafts-Arbeitseinheit im Final Fantasy II-Stil als Beispiel ( overworld.js ) verwendet, um zu demonstrieren, wie CSS-benutzerdefinierte Eigenschaften zur Implementierung dieser Funktion verwendet werden.

Vorbereitung

Zunächst müssen Sie sicherstellen, dass Ihr Browser die CSS -Farb -API und die benutzerdefinierten Eigenschaften unterstützt:

 const Paintapisupported = "RegisterProperty" in window.css && "Paintworklet" im Fenster.css;
Nach dem Login kopieren

Verwenden Sie als Nächstes die Methode CSS.registerProperty , um die benutzerdefinierten Eigenschaften zu definieren. Diese Eigenschaften werden in CSS definiert und in der Zeichenarbeitseinheit gelesen, wodurch der Rendering -Prozess eine einfache Steuerung ermöglicht. Die Arbeitseinheit overworld.js definiert die Farben verschiedener Teile der Landschaft (Gras, Bäume, Flüsse usw.) mit benutzerdefinierten Eigenschaften. Der Standardwert gilt für den Lichtmodus.

Der Attributregistrierungscode lautet wie folgt:

 const properties = {
  "-overworld-grass-grün-color": {
    Syntax: "<color> ",",
    InitialValue: "#58ab1d"
  },
  "-overworld-dark-rock-color": {
    Syntax: "<color> ",",
    InitialValue: "#A15D14"
  },
  // ... andere Eigenschaften};

Object.Entries (Eigenschaften) .foreach (([Name, {syntax, initialValue}]) => {
  CSS.registerProperty ({{
    Name,
    Syntax,
    Erben: Falsch,
    initialValue
  });
});

CSS.Paintworklet.AddModule ("/Worklets/Overworld.js");</color></color>
Nach dem Login kopieren

Die Anfangswerte dieser Eigenschaften können überschrieben werden, wenn der Benutzer ein Farbschema auswählt.

Farbschemata, die den Benutzereinstellungen entsprechen

Mit dem Menü "Website -Einstellungen" können Benutzer Farbschemata auswählen: System, Lichtmodus und Dunkelmodus. Der "System" -Modus dark den Betriebssystemeinstellungen light CSS -Variablen werden verwendet, um die Farben zu wechseln:

 /* Benutzer wählt den Dunklen Modus aus*/
html.dark {
  -GRASS-GREEN: #3A6B1A;
  -Dark-Rock: #784517;
  // ... andere Farben}

/* Systempräferenz ist Dunkelmodus*/
@media Screen und (bevorzugt Color-Scheme: Dark) {{
  html {
    -GRASS-GREEN: #3A6B1A;
    -Dark-Rock: #784517;
    // ... andere Farben}
}

/* Benutzer wählt den Lichtmodus*/aus
html.light {
  -GRASS-GREEN: #58AB1D;
  -Dark-Rock: #A15D14;
  // ... andere Farben}

/* Systempräferenz ist Lichtmodus*/
@media Bildschirm und (bevorzugt Farbscheme: Licht) {{
  html {
    -GRASS-GREEN: #58AB1D;
    -Dark-Rock: #A15D14;
    // ... andere Farben}
}
Nach dem Login kopieren

Stellen Sie benutzerdefinierte Eigenschaften auf der Maleinheit der Malerei ein

Wenn der Browser die Lack-API unterstützt, wenden die Inline-Skripte auf der Seite paint-api -Klasse auf die Elemente an.

 @media Screen und (Min-Width: 64Rem) {
  .paint-api .backdrop {
    Hintergrundbild: Farbe (Überwelt);
    / * ... andere Stile ... */
    -overworld-grass-grün-Farbe: var (-grasgrün);
    -overWorld-dark-Rock-Color: var (-Dark-Rock);
    // ... andere Eigenschaften}
}
Nach dem Login kopieren

Hier wird der benutzerdefinierte Attributwert der Maleinheit aus der CSS -Variablen entsprechend der Farbschemaspräferenz des Benutzers entnommen. Dadurch wird die Funktion der dynamischen Anpassung des Rendering -Effekts der Maleinheit an die Benutzerpräferenzen realisiert.

Auf diese Weise kann das Rendering der Maleinheit flexibel kontrolliert werden, z. B. das Hinzufügen von Details oder Ostereier gemäß dem Farbschema. Die CSS-Paint-API kombiniert benutzerdefinierte Eigenschaften und prefers-color-scheme um Entwicklern leistungsstarke Tools zu bieten, um dynamische und personalisierte Benutzererlebnisse zu erstellen.

Ehre bevorzugt das Farbschema in der CSS-Farb-API mit benutzerdefinierten Eigenschaften

Das obige ist der detaillierte Inhalt vonDie Ehre bevorzugt das Farbschema in der CSS-Farb-API mit 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

Video Face Swap

Video Face Swap

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

Heißer Artikel

<🎜>: Bubble Gum Simulator Infinity - So erhalten und verwenden Sie Royal Keys
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
Nordhold: Fusionssystem, erklärt
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
Mandragora: Flüstern des Hexenbaum
3 Wochen 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)

Heiße Themen

Java-Tutorial
1665
14
PHP-Tutorial
1270
29
C#-Tutorial
1249
24
Ein Beweis für das Konzept, um Sass schneller zu machen Ein Beweis für das Konzept, um Sass schneller zu machen Apr 16, 2025 am 10:38 AM

Zu Beginn eines neuen Projekts erfolgt die SASS -Zusammenstellung im Blinzeln eines Auges. Dies fühlt sich gut an, besonders wenn es mit Browsersync kombiniert ist, das nachlädt

Ein Vergleich statischer Formanbieter Ein Vergleich statischer Formanbieter Apr 16, 2025 am 11:20 AM

Versuchen wir, hier einen Begriff zu prägen: "Statischer Formanbieter". Sie bringen Ihre HTML

Wöchentliche Plattformnachrichten: HTML -Ladeattribut, die Haupt -ARIA -Spezifikationen und Wechsel von Iframe zu Shadow Dom Wöchentliche Plattformnachrichten: HTML -Ladeattribut, die Haupt -ARIA -Spezifikationen und Wechsel von Iframe zu Shadow Dom Apr 17, 2025 am 10:55 AM

In der Zusammenfassung der Plattformnachrichten in dieser Woche stellt Chrome ein neues Attribut für das Laden, Zugänglichkeitspezifikationen für Webentwickler und die BBC -Bewegungen ein

Der Deal mit dem Abschnittselement Der Deal mit dem Abschnittselement Apr 12, 2025 am 11:39 AM

Zwei Artikel veröffentlichten genau den selben Tag:

Einige praktisch mit dem HTML-Dialogelement Einige praktisch mit dem HTML-Dialogelement Apr 16, 2025 am 11:33 AM

Ich schaue mir das HTML -Element zum ersten Mal an. Ich habe es für eine Weile dessen bewusst, aber Haven &#039; Es wurde es noch nicht für einen Dreh genommen. Es hat einige ziemlich cool und

Wie wir Google -Schriftarten getaggt und Goofonts.com erstellt haben Wie wir Google -Schriftarten getaggt und Goofonts.com erstellt haben Apr 12, 2025 pm 12:02 PM

Goofonts ist ein Nebenprojekt, das von einer Entwicklerin und einem Designer-Ehemann signiert wurde, beide große Fans der Typografie. Wir haben Google markiert

Multi-Daumen-Schieberegler: Allgemeiner Fall Multi-Daumen-Schieberegler: Allgemeiner Fall Apr 12, 2025 am 10:52 AM

In dem ersten Teil dieser zweiteiligen Serie werden beschrieben, wie wir einen Zwei-Daumen-Schieberegler erhalten können. Jetzt sehen wir uns einen allgemeinen Multi-Thumb-Fall an, aber mit einem anderen und

Wohin sollte 'Podcast' -Link abonnieren? Wohin sollte 'Podcast' -Link abonnieren? Apr 16, 2025 pm 12:04 PM

Für eine Weile war iTunes der große Hund im Podcasting. Wenn Sie also "Abonnieren Sie Podcast" verlinkt haben, um zu mögen:

See all articles