Inhaltsverzeichnis
Schlüsselpunkte
CSS3 führt zwei nette Funktionen ein:
benutzerdefinierte Attribute
logische Eigenschaften
Neue Farbfunktion
Farbanpassung
HWB -Farbnotation
Gray () Funktion
Zusammenfassung
häufig gestellte Fragen zu den kommenden CSS -Funktionen mit postcss
Heim Web-Frontend CSS-Tutorial Aktivieren Sie die kommenden CSS -Funktionen mit Postcs

Aktivieren Sie die kommenden CSS -Funktionen mit Postcs

Feb 21, 2025 am 09:30 AM

Enabling Upcoming CSS Features with PostCSS

Im vorherigen Artikel "PostCSS-Handbuch: Verbesserte Selektoren und Medienabfrage" werden in diesem Artikel weitere PostCSS-Plug-Ins untersucht, die die CSS-Funktionalität erweitern. Der vorherige Artikel konzentriert sich auf die Verbesserung der Struktur von Stilblättern durch Erweiterung von Selektoren und Medienabfragen, während sich dieser Artikel auf die Implementierung neuer Eigenschaften und Werte in der kommenden Spezifikation konzentriert. Die in diesem Artikel beschriebenen Plugins implementieren verschiedene Funktionen, die effektiv zusammen oder einzeln entsprechend Ihren Anforderungen verwendet werden können.

Beginnen wir mit meinem Lieblings -Plugin.

Schlüsselpunkte

  • POSTCSS-Plug-In kann verwendet werden, um neue Eigenschaften und Werte in der kommenden CSS-Spezifikation zu implementieren und die Funktionalität von CSS effektiv zu erweitern. Diese Plugins können zusammen oder einzeln entsprechend den Anforderungen des Entwicklers verwendet werden.
  • postCSS ermöglicht es Entwicklern, zukünftige CSS -Funktionen zu verwenden, bevor der Browser offiziell implementiert wird. Das Plugin postcss-initial fügt Unterstützung für den initial -Wergungs- und all: initial -Kombination hinzu, und das postcss-autoreset -Plugin setzt automatisch den Stil der Elemente auf Blockebene und Komponentenebene zurück.
  • Das Plugin
  • postcss-color-function implementiert eine neue color() -Funktion, mit der Entwickler eine oder mehrere "Farbanpassung" -Funktionen verwenden können, um die zugrunde liegende Farbe zu ändern. Das postcss-color-hwb -Plugin implementiert eine neue hwb() -Funktion, um die HWB -Farbe zu definieren. postcss-color-gray gray() postCSS bietet eine vielversprechende Gelegenheit, neue CSS -Funktionen frühzeitig anzuwenden und zu bewerten. Es wird den Entwicklern empfohlen, Stilblätter aus einer völlig neuen Perspektive zu schreiben und verfügbare Funktionen aufzulisten, die die Produktivität steigern können.
  • Wählen Sie den Reset auf die nächste Stufe

CSS3 führt zwei nette Funktionen ein:

Wert und

Attribut. Der Wert initial wird mit den Werten all und initial verwendet, sodass Sie die Eigenschaft auf ihren ursprünglichen Wert zurücksetzen können. Das Attribut inherit wird als Kurzmerkmal verwendet, das alle Attribute in einen dieser drei Zustände zurücksetzt. Während beide an sich selbst interessant sind, wenn sie zusammen verwendet werden, können Sie alle Stile eines bestimmten Elements schnell zurücksetzen und verhindern, dass die Stile des übergeordneten Elements der Seite erbt werden. Dies ist ein weiterer Schritt beim Schreiben modularer CSS! unset all Leider unterstützt der IE diese beiden Funktionen immer noch nicht. Wie Sie vielleicht vermutet haben, gibt es ein Plugin, das dieses Problem löst.

Unterstützung für

-Werte und postcss-initial -Kombinationen hinzugefügt. So funktioniert es: initial all: initial

kompiliert zu:
.article {
  font-size: initial;
  color: initial;
  padding: initial;
  margin: initial;
}
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren

standardmäßig behält es die ursprünglichen Eigenschaften sowie
.article {
  font-size: medium;
  font-size: initial;
  color: #000;
  color: initial;
  padding: 0;
  padding: initial;
  margin: 0;
  margin: initial;
}
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
für native Browser bei, die diese Funktion unterstützen.

initial Im Gegenzug wird das Attribut

in eine lange Liste von Reset -Attributen konvertiert.

all

wird konvertiert in:
.container {
  all: initial;
}
Nach dem Login kopieren
Nach dem Login kopieren

(Um den Raum zu willen, wurde der erweiterte Code nach
.container {
  /*  此处省略大量重置属性  */
  all: initial;
}
Nach dem Login kopieren
Nach dem Login kopieren
weggelassen)

Wenn Sie BEM oder Anzug verwenden, funktioniert dieses Plugin gut mit postcss-autoreset, wodurch die Stile von Block- und Komponentenebene automatisch zurückgesetzt werden.

benutzerdefinierte Attribute

Wenn wir mit Layouts arbeiten, müssen wir oft einige Werte im Stylesheet teilen. Beispielsweise kann Ihre Markenfarbe als Hintergrund für eine Schaltfläche, eine Textfarbe für einen Link oder einen Rand für einen Textblock verwendet werden. Um dies zu erreichen, müssen wir es derzeit mehrmals an jedem Ort wiederholen, an dem die Farbe verwendet wird. Diese Wiederholung macht es umständlich, die Palette bei der Änderung der Farben in der Anwendung konsistent zu halten.

CSS -Präprozessoren wie weniger und SASS haben dieses Problem mit Variablen gelöst. Glücklicherweise arbeitet W3C an einem ähnlichen Konzept, das als benutzerdefinierte Eigenschaften bezeichnet wird. Obwohl das gleiche Problem gelöst ist, funktionieren sie unterschiedlich als Variablen im Präprozessor. Weniger und SASS -Variablen werden zur Kompilierungszeit analysiert. Wenn Sie weniger oder SASS zu CSS kompilieren, sucht der Compiler nach variablen Deklarationen, die dem aktuellen Kompilierungsbereich entsprechen, und ersetzt jede Instanz durch den entsprechenden Wert. Dies bedeutet, dass der analysierte Wert einer Variablen vollständig davon abhängt, wo er im Code verwendet wird. Benutzerdefinierte Eigenschaften werden wiederum für Elemente im DOM definiert und können nur durch ihre Kinderelemente zugegriffen werden. Dies bedeutet, dass der Wert der Variablen von der Position des Elements im DOM abhängt und nur zur Laufzeit analysiert werden kann.

Sie sollten bisher die Stirnrunzeln oder Hebung Ihrer Augenbrauen. Wenn der Wert einer Variablen nur zur Laufzeit bekannt ist, wie analysiert das POSTCSS -Plugin ihn? Die Wahrheit ist, es kann nicht. Es bietet jedoch eine Möglichkeit, diese Teilmenge der Funktionalität zu verwenden. Wenn wir alle benutzerdefinierten Eigenschaften im Element :root definieren, stehen diese Eigenschaften für alle Elemente auf der Seite zur Verfügung. Dies bedeutet, dass wir sie zur Kompilierungszeit analysieren können.

Hier ist ein einfaches Beispiel dafür, wie es aussehen könnte:

.article {
  font-size: initial;
  color: initial;
  padding: initial;
  margin: initial;
}
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren

wird kompilieren zu:

.article {
  font-size: medium;
  font-size: initial;
  color: #000;
  color: initial;
  padding: 0;
  padding: initial;
  margin: 0;
  margin: initial;
}
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren

Beachten Sie, dass die Variable --font-size undefiniert ist und daher durch einen Fallback -Wert von 20px ersetzt wird. Hier ist es wichtig, alle benutzerdefinierten Eigenschaften innerhalb von :root zu halten. Eigenschaften, die an anderer Stelle definiert sind, werden ignoriert, da das Plugin sie nicht angemessen verarbeiten kann. Sie können hier beginnen und die Verwendung erweitern, wenn mehr Browser anfangen, sie zu unterstützen. Chrome hat sie seit Version 49 unterstützt.

logische Eigenschaften

Wenn Sie jemals eine internationale Website entwickelt haben, die sich mit unterschiedlichen Kulturen für Schreibrichtlinien erstreckt, wissen Sie, was es braucht, um mehrere Versionen der Schnittstelle zu erhalten (z. B. von links nach rechts oder rechts nach links). Um diesen Bedarf zu erfüllen, stellte W3C ein neues Konzept logischer Attribute vor. Eine Möglichkeit, über die physische Richtung nachzudenken (wie rechts oder links), sondern die logische Richtung - starten Sie und enden. Die Spezifikation ist noch im Gange, aber Sie können einige davon bereits mit dem postcss-logical-props -Plugin versuchen.

Es unterstützt die Erzeugung von Website-Versionen von links nach rechts und nach rechts nach links unter Verwendung bestimmter logischer Eigenschaften wie border-block-start und border-block-end, offset-block-start und offset-block-end. Diese Eigenschaften werden in ihre linken oder rechten Alternativen zusammengestellt. Sie können das Plugin anweisen, die LTR- und RTL -Versionen des Stylesheet zu kompilieren und sie dann in die Anwendung zu wechseln, wenn der Benutzer die Sprache ändert.

Zum Beispiel, wenn Sie das folgende CSS haben:

.article {
  font-size: initial;
  color: initial;
  padding: initial;
  margin: initial;
}
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren

Das Aufrufen des Plugins mit Option { dir: 'LTR' } erzeugt die folgenden Ergebnisse:

.article {
  font-size: medium;
  font-size: initial;
  color: #000;
  color: initial;
  padding: 0;
  padding: initial;
  margin: 0;
  margin: initial;
}
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren

Wenn Sie { dir: 'RTL' } verwenden, erhalten Sie ein Spiegelbild:

.container {
  all: initial;
}
Nach dem Login kopieren
Nach dem Login kopieren

Neue Farbfunktion

postCSS bietet einen kompletten Satz von Plugins, die neue Funktionen für den Umgang mit Farben bieten.

Farbanpassung

Das Plugin

postcss-color-function implementiert die neue color() -Funktion. Mit dieser Funktion können Sie eine oder mehrere "Farbanpassungen" -Funktionen verwenden, um die zugrunde liegende Farbe zu ändern. Jeder Farbanmieter kann Farben auf eine bestimmte Weise manipulieren.

Hier sind einige Beispiele für die Verwendung:

.container {
  /*  此处省略大量重置属性  */
  all: initial;
}
Nach dem Login kopieren
Nach dem Login kopieren

wird zu der folgenden Farbe kompilieren:

:root {
  --text-color: red;
  --background: blue;
}

h1 {
  color: var(--text-color);
  font-size: var(--font-size, 20px);
}
button {
  background-color: var(--background);
}
Nach dem Login kopieren
Die vollständige Liste der Farbspezifikationen finden Sie in der Spezifikation

. Dieses Plugin kann sehr effizient mit benutzerdefinierten Eigenschaften verwendet werden. Sie können eine Reihe von Grundfarben definieren und andere Farben basierend darauf berechnen. Auf diese Weise wird der Rest der Palette entsprechend aktualisiert, wenn Sie sich entscheiden, die Grundfarbe zu ändern.

HWB -Farbnotation

HWB steht für Hue-Whitess-Blackness, was eine alternative Möglichkeit ist, Farbe zu definieren. Es verwendet Farbtonwerte von 0 bis 360, um die Farbe zu beschreiben, und fügt dann 0% bis 100% Weiß und Schwärze hinzu. Diese Notation ähnelt HSL und ist leichter zu verstehen als RGB. Das postcss-color-hwb -Gladin implementiert eine neue hwb() -Funktion, um HWB -Farben zu definieren. Mehrere Beispiele:

h1 {
  color: red;
  font-size: 20px;
}
button {
  background-color: blue;
}
Nach dem Login kopieren

Die folgenden Farben werden erstellt:

.text {
  border-block-start: 1px solid blue;
  text-align: start;
  padding-block-end: 10px;
  margin-block-start: 20px;
}
Nach dem Login kopieren

Gray () Funktion

Das CSS -Farbmodul

CSS führt auch eine bequeme gray() -Funktion ein. Es kann verwendet werden, um Grau zu erzeugen, ohne redundante Informationen wie alle drei Kanäle in RGB -Farben anzugeben. postcss-color-gray Das Plugin implementiert die Polyfill dieser Funktion und ist sehr einfach zu verwenden:

.text {
  border-left: 1px solid blue;
  text-align: left;
  padding-right: 10px;
  margin-left: 20px;
}
Nach dem Login kopieren

Der obige Code erzeugt Grau aus verschiedenen Farbtönen:

.text {
  border-right: 1px solid blue;
  text-align: right;
  padding-left: 10px;
  margin-right: 20px;
}
Nach dem Login kopieren

Zusammenfassung

Dies ist keineswegs eine vollständige Liste aller verfügbaren CSS -Plugins, sondern nur eine Auswahl für einige interessanere Plugins. Sie können mehr Plugins auf Postcs.Parts erkunden.

CSS boomt und Postcss boomt. Ja, wir warten alle gespannt auf die native Unterstützung für diese neuen Funktionen des Browsers, aber PostCSS bietet uns eine vielversprechende Gelegenheit, diese Funktionen frühzeitig zu übernehmen und zu bewerten. Der allgemeine Rat ist hier, um zu versuchen, von der vertrauten Verwendung von Präprozessoren zurückzutreten und sich mit den Schreibstylesheets aus einer neuen Perspektive zu befassen. Versuchen Sie, die verfügbaren Funktionen aufzulisten, die Ihre Produktivität steigern und in Ihrem Workflow verwenden können. Sie werden bald erkennen, dass dies genau die Funktionen sind, die Sie fehlten.

häufig gestellte Fragen zu den kommenden CSS -Funktionen mit postcss

aktivieren

(Der FAQ-Teil wird hier weggelassen, weil der Artikel zu lang ist und nicht mit dem pseudooriginalen Ziel übereinstimmt. Der FAQ-Teil kann nach Bedarf neu organisiert und neu geschrieben werden, aber die ursprüngliche Absicht bleibt unverändert.)

Das obige ist der detaillierte Inhalt vonAktivieren Sie die kommenden CSS -Funktionen mit Postcs. 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)

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.

Verwenden von Markdown und Lokalisierung im WordPress -Block -Editor Verwenden von Markdown und Lokalisierung im WordPress -Block -Editor Apr 02, 2025 am 04:27 AM

Wenn wir dem Benutzer direkt im WordPress -Editor Dokumentation anzeigen müssen, wie können Sie dies am besten tun?

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

So verwenden Sie CSS -Gitter für klebrige Header und Fußzeilen So verwenden Sie CSS -Gitter für klebrige Header und Fußzeilen Apr 02, 2025 pm 06:29 PM

CSS Grid ist eine Sammlung von Eigenschaften, die das Layout einfacher machen als jemals zuvor. Wie alles andere ist es eine kleine Lernkurve, aber das Gitter ist

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

See all articles