Inhaltsverzeichnis
CSS als API?
Flexibilität benutzerdefinierter Eigenschaften
Über die Benennung
Status der JavaScript -Bibliothek ... Automatisch?
Aktive Farbe: {activeColor}
Kann der Browser einen mehr Seitenstatus als Umgebungsvariablen bereitstellen?
Heim Web-Frontend CSS-Tutorial Benutzerdefinierte Eigenschaften als Zustand

Benutzerdefinierte Eigenschaften als Zustand

Apr 01, 2025 am 04:24 AM

Benutzerdefinierte Eigenschaften als Zustand

Eine interessante Idee von James Stanley: Eine CSS -Datei (ungefähr einmal am Tag aktualisiert) mit CSS -benutzerdefinierten Eigenschaften in "saisonalen" Farben (zum Beispiel ist der Frühling grün und der Herbst ist orange). Sie können diese Werte dann verwenden, um das Thema für Ihre Website festzulegen und zu wissen, dass sich diese Farben jeden Tag leicht ändern.

Ich habe das Folgende erhalten, als ich diesen Artikel schreibe:

 :Wurzel {
  -Seasonal-BG: HSL (-68.70967741935485, 9,419354838709678%, 96%);
  -Saison-BGDark: HSL (-68.70967741935485,9,419354838709678%, 90%);
  -Seasonal-FG: HSL (-68.70967741935485, 9,419354838709678%, 30%);
  -Seasonal-HL: HSL (-83,70967741935485.30.000000000000004%, 50%);
  -Seasonal-HLDARK: HSL (-83,70967741935485.30.00000000000004%, 35%);
}
Nach dem Login kopieren

Ich denke, es wäre noch interessanter, wenn die bereitgestellte CSS -Datei nur eine benutzerdefinierte Eigenschaft ist, anstatt andere Stile mit subjektiven Meinungen (z. B. das Festlegen des Subjekt -Hintergrunds usw.). Auf diese Weise können Sie die Farbe auf eine Weise implementieren, die Sie ohne Nebenwirkungen auswählen.

CSS als API?

Dies erinnert mich daran, dass eine CDN-veranstaltete CSS-Datei wie diese andere nützliche Inhalte enthalten kann, wie z. B. das heutige Datum (für Pseudo-Inhalt) oder andere spezielle zeitkritische Inhalte. Vielleicht ist es die Mondphase? Sportpartitur? ! Tägliche Suppe? !

 /*<div> Die Suppe des Tages ist:</div> */
.Soup :: nach {
  Inhalt: var (-Suppeoftheday); / * lol irgendwie */
}
Nach dem Login kopieren

Es ist fast wie eine äußerst einfach zu verwendende Daten -API. Pseudo-Inhalt ist heutzutage sogar zugänglich.

Flexibilität benutzerdefinierter Eigenschaften

Will Boyd hat gerade einen Blog darüber geschrieben, was in benutzerdefinierten Eigenschaften enthalten sein kann. Sie sind sehr flexibel. Fast alles ist ein gültiger benutzerdefinierter Eigenschaftswert, und seine Verwendung ist in der Regel wie erwartet.

 Körper {
  /* Kein Problem*/
  -RGBA: RGBA (255, 0, 0, 0,1);
  Hintergrund: var (-rgba);

  /* Kein Problem*/
  -RGBA: 255, 0, 0, 0,1;
  Hintergrund: RGBA (var (-rgba));

  /* Kein Problem*/
  -RGB: 255 0 0;
  -A: 0,1;
  Hintergrund: RGB (var (-rgb) / var (-a));
}

Body :: After {
  /* Kein Problem*/
  -Song: "Ich brauche Zitate, um Pseudo-Inhalte zu sein, und kann ohne diesen seltsamen Hack \ a keine Zeilenpausen haben, aber immer noch ziemlich permitiv (???)";
  Inhalt: var (-Lied);
  weißer Raum: PRE;
}
Nach dem Login kopieren

Bram van Damme erfasst diese Flexibilität bei der Einführung von Wills Artikel:

Aus diesem Grund können Sie CSS -benutzerdefinierte Eigenschaften verwenden, um:

• Bedingte Berechnungen durchführen

• Übergeben Sie Daten von CSS an JavaScript

• Injizieren Sie einen Hautton-/Haarfarbenmodifikator in Emojis

• Wechseln Sie mehrere Werte mit einer benutzerdefinierten Eigenschaft (--foo:; Hack)

Bram weist darauf hin, dass diese "grundlegende" Zustandsschaltfunktion, die benutzerdefinierte Eigenschaften erreichen können:

 :Wurzel {
  -IS-Big: 0;
}

.is-big {
  -IS-Big: 1;
}

.block {
  Polsterung: Calc (
    25px * var (-ist-big)  
    10px * (1-var (-is-big))
  );
  Randbreit: Calc (Calc ()
    3px * var (-ist-big)  
    1px * (1-var (-is-big))
  );
}
Nach dem Login kopieren

Fügen Sie ein paar Komplexitätsschiffe hinzu und Sie erhalten Krähen (Medienabfrage mit benutzerdefinierten Eigenschaften).

Ich möchte wirklich, dass in CSS etwas passiert, um diesen Prozess zu vereinfachen. Es wäre großartig, CSS -benutzerdefinierte Eigenschaften für den gemeinsamen Zustand zu verwenden. Wenn die Benutzeroberfläche in jedem Zustand ist, können wir jeden Stil anwenden! Denken Sie darüber nach, wie nützlich die Medienabfrage jetzt ist oder wie nützlich die Containerabfrage sein wird, aber dies ist noch verstärkt, weil es nicht der Zustand der Öffentlichkeit ist, sondern nur willkürlicher Staat.

Bram stellte dies auch vor und bezog sich auf das, was Lea Verou als „benutzerdefinierte Eigenschaften auf höherer Ebene“ bezeichnet:

 /* Theoretisch! */

.Quadrat {
  Breite: 2VW;
  Polsterung: 0,25 VW;
  Aspektverhältnis: 1/1;

  @if (var (-size) = big) {
    Breite: 16VW;
    Polsterung: 1VW;
  }
}

.My-Input {
  @if (var (-Pill) = on) {
    Border-Radius: 999px;
   }
}
Nach dem Login kopieren

Über die Benennung

Wird sie "CSS -Variablen" nennt, was sehr häufig und leicht zu verstehen ist. Sie werden Sätze wie folgt lesen (ich habe auch geschrieben): "CSS -Variablen (auch bekannt als CSS -benutzerdefinierte Eigenschaften)" oder "CSS -benutzerdefinierte Eigenschaften (auch bekannt als CSS -Variablen)". Šime Vidas hat kürzlich darauf hingewiesen, dass es eine ziemlich korrekte Möglichkeit gibt, sich auf folgende Dinge zu beziehen:-Dieser Teil ist eine benutzerdefinierte Eigenschaft, Var (-dieser Teil) ist eine Variable, die direkt aus der Verwendung in der Spezifikation stammt.

Status der JavaScript -Bibliothek ... Automatisch?

Dies erinnert mich an diesen Vue -Vorschlag. Ich bin mir nicht sicher, ob es Fortschritte macht, aber die Idee ist, dass der Zustand der Komponente automatisch als CSS -benutzerdefinierte Eigenschaft ausgesetzt wird.

<template><div> Hallo</div>
</template>
<script>
export default {
  data() {
    return {
      color: 'red'
    }
  }
}
</script>
Nach dem Login kopieren

Da Farbe Teil des Zustands dieser Komponente ist, kann -Farbe als Zustand der CSS dieser Komponente verwendet werden. Ich denke, das ist eine gute Idee.

Was ist, wenn Sie bei React den UseState verwenden, die benutzerdefinierten CSS -Eigenschaften aufgestellt werden: root und automatisch aktualisiert. Zum Beispiel, wenn Sie dies tun:

 reag import, {usestate} aus 'https://cdn.skypack.dev/react@^16.13.1';
Importieren Sie Reactdom von 'https://cdn.skypack.dev/react-dom@^16.13.1';

const app = () => {
  const [activeColor, setactiveColor] = usustate ("rot");
  zurückkehren(
    <div classname="box">
      <h1 id="Aktive-Farbe-activeColor">Aktive Farbe: {activeColor}</h1>
       {setactiveColor ("rot")}}> rot
       {setactiveColor ("blau")}}> blau
    </div>
  );
}

Reactdom.render (<app></app> Anwesend
document.getElementById ("root"))
Nach dem Login kopieren

Und Sie wissen, dass Sie das tun können:

 .Kasten {
  Grenzfarbe: 2px Solid Var (-ActiveColor);
}
Nach dem Login kopieren

Da der Status automatisch den benutzerdefinierten Eigenschaften zugeordnet ist. Jemand sollte einen UsestateWithCustomProperties -Haken oder ähnliches erstellen. #freidea

Bibliothek wie React und Vue werden verwendet, um UIS zu erstellen. Ich denke, es ist sehr sinnvoll, dass der Staat, den er verwaltet, automatisch CSS aussetzt.

Kann der Browser einen mehr Seitenstatus als Umgebungsvariablen bereitstellen?

Apropos Staaten, dass CSS es wissen sollte, ich habe viele Demos gesehen, die interessante Dinge tun, indem ich Dinge wie die aktuelle Mausposition oder die Scrollposition auf CSS abbildert. Ich denke nicht, dass es völlig unangemessen ist, dass diese Daten lokal CSS ausgesetzt werden. Wir haben bereits das Konzept von Umgebungsvariablen wie Env (Safe-Area-Inset-Top), und ich kann sehen, dass es verwendet wird, um Seitenzustände wie Env (Page-Scroll-Percentage) oder Env (Mausyy) aufzudecken.

Das obige ist der detaillierte Inhalt vonBenutzerdefinierte Eigenschaften als Zustand. 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ß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
1664
14
PHP-Tutorial
1267
29
C#-Tutorial
1239
24
Google -Schriftarten variable Schriftarten Google -Schriftarten variable Schriftarten Apr 09, 2025 am 10:42 AM

Ich sehe, dass Google -Schriftarten ein neues Design (Tweet) ausgelöst haben. Im Vergleich zur letzten großen Neugestaltung fühlt sich dies viel iterativer an. Ich kann den Unterschied kaum erkennen

So erstellen Sie einen animierten Countdown -Timer mit HTML, CSS und JavaScript So erstellen Sie einen animierten Countdown -Timer mit HTML, CSS und JavaScript Apr 11, 2025 am 11:29 AM

Haben Sie jemals einen Countdown -Timer für ein Projekt benötigt? Für so etwas ist es möglicherweise natürlich, nach einem Plugin zu greifen, aber es ist tatsächlich viel mehr

HTML -Datenattributehandbuch HTML -Datenattributehandbuch Apr 11, 2025 am 11:50 AM

Alles, was Sie schon immer über Datenattribute in HTML, CSS und JavaScript wissen wollten.

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

Wie wir eine statische Site erstellt haben, die Tartan -Muster in SVG erzeugt Wie wir eine statische Site erstellt haben, die Tartan -Muster in SVG erzeugt Apr 09, 2025 am 11:29 AM

Tartan ist ein gemustertes Tuch, das normalerweise mit Schottland verbunden ist, insbesondere mit ihren modischen Kilts. Auf Tartanify.com haben wir über 5.000 Tartan gesammelt

So erstellen Sie Vue -Komponenten in einem WordPress -Thema So erstellen Sie Vue -Komponenten in einem WordPress -Thema Apr 11, 2025 am 11:03 AM

Mit der Inline-Template-Anweisung können wir reichhaltige Vue-Komponenten als fortschreitende Verbesserung gegenüber vorhandenem WordPress-Markup erstellen.

PHP ist A-OK für die Vorlagen PHP ist A-OK für die Vorlagen Apr 11, 2025 am 11:04 AM

PHP -Vorlagen erhält oft einen schlechten Rap für die Erleichterung von unterdurchschnittlichem Code - aber das muss nicht der Fall sein. Schauen wir uns an, wie PHP -Projekte eine Basis durchsetzen können

Während Sie nicht suchten, wurden CSS -Gradienten besser Während Sie nicht suchten, wurden CSS -Gradienten besser Apr 11, 2025 am 09:16 AM

Eine Sache, die mich auf die Liste der Funktionen für Lea Verou im Einklang mit Conic-Gradient () -Polyfill auffiel, war das letzte Element:

See all articles