PostCSS
Beispiele
Standardverhalten
Next.js kompiliert CSS für seine integrierte CSS-Unterstützung mittels PostCSS.
Ohne jegliche Konfiguration kompiliert Next.js CSS mit den folgenden Transformationen:
- Autoprefixer fügt CSS-Regeln automatisch Vendor-Präfixe hinzu (bis IE11).
- Browserübergreifende Flexbox-Fehler werden korrigiert, um sich wie die Spezifikation zu verhalten.
- Neue CSS-Funktionen werden automatisch für Internet Explorer 11-Kompatibilität kompiliert:
Standardmäßig werden CSS Grid und Benutzerdefinierte Eigenschaften (CSS-Variablen) nicht für IE11 kompiliert.
Um CSS Grid Layout für IE11 zu kompilieren, können Sie folgenden Kommentar am Anfang Ihrer CSS-Datei platzieren:
Sie können die IE11-Unterstützung für CSS Grid Layout in Ihrem gesamten Projekt aktivieren, indem Sie Autoprefixer mit der unten stehenden Konfiguration konfigurieren (eingeklappt). Weitere Informationen finden Sie unter "Plugins anpassen" weiter unten.
Klicken Sie hier, um die Konfiguration zur Aktivierung von CSS Grid Layout anzuzeigen
CSS-Variablen werden nicht kompiliert, da dies nicht sicher möglich ist. Wenn Sie Variablen verwenden müssen, erwägen Sie die Nutzung von Sass-Variablen, die von Sass kompiliert werden.
Zielbrowser anpassen
Next.js ermöglicht es Ihnen, die Zielbrowser (für Autoprefixer und kompilierte CSS-Funktionen) über Browserslist zu konfigurieren.
Um Browserslist anzupassen, erstellen Sie einen browserslist
-Schlüssel in Ihrer package.json
wie folgt:
Sie können das browsersl.ist-Tool verwenden, um zu visualisieren, welche Browser Sie als Ziel haben.
CSS-Module
Für die Unterstützung von CSS-Modulen ist keine Konfiguration erforderlich. Um CSS-Module für eine Datei zu aktivieren, benennen Sie die Datei mit der Erweiterung .module.css
.
Weitere Informationen zur CSS-Modulunterstützung von Next.js finden Sie hier.
Plugins anpassen
Warnung: Wenn Sie eine benutzerdefinierte PostCSS-Konfigurationsdatei definieren, deaktiviert Next.js das Standardverhalten vollständig. Stellen Sie sicher, dass Sie alle Funktionen, die Sie kompilieren möchten, manuell konfigurieren, einschließlich Autoprefixer. Sie müssen auch alle in Ihrer benutzerdefinierten Konfiguration enthaltenen Plugins manuell installieren, d.h.
npm install postcss-flexbugs-fixes postcss-preset-env
.
Um die PostCSS-Konfiguration anzupassen, erstellen Sie eine postcss.config.json
-Datei im Stammverzeichnis Ihres Projekts.
Dies ist die von Next.js verwendete Standardkonfiguration:
Hinweis: Next.js erlaubt auch, dass die Datei
.postcssrc.json
benannt wird oder aus dempostcss
-Schlüssel inpackage.json
gelesen wird.
Es ist auch möglich, PostCSS mit einer postcss.config.js
-Datei zu konfigurieren, was nützlich ist, wenn Sie Plugins abhängig von der Umgebung bedingt einbinden möchten:
Hinweis: Next.js erlaubt auch, dass die Datei
.postcssrc.js
benannt wird.
Verwenden Sie nicht require()
, um die PostCSS-Plugins zu importieren. Plugins müssen als Zeichenketten bereitgestellt werden.
Hinweis: Wenn Ihre
postcss.config.js
die Unterstützung anderer Nicht-Next.js-Tools im gleichen Projekt benötigt, müssen Sie stattdessen das interoperable objektbasierte Format verwenden: