Tailwind CSS-Konfiguration
Die Kernkonfigurationsdatei von Tailwind CSS isttailwind.config.js。
tailwind.config.js ist die Konfigurationsdatei für Tailwind CSS, mit der die Standardkonfiguration von Tailwind angepasst werden kann.
Durch Ändern der Datei tailwind.config.js können Entwickler Design-System-Elemente wie Farben, Abstände, Schriftarten und Breakpoints an spezifische Projektanforderungen anpassen.
Konfigurationsdatei erstellen
Mit dem Tailwind CSS CLI-Tool können Sie schnell eine grundlegende tailwind.config.js-Datei generieren.
Führen Sie den folgenden Befehl im Stammverzeichnis des Projekts aus:
npx tailwindcss init
Dadurch wird eine tailwind.config.js-Datei erstellt, die die grundlegende Konfiguration enthält.
Grundstruktur
Das Folgende ist die Struktur einer typischen tailwind.config.js-Datei:
Beispiel
module.exports = {
content: ["./src/**/*.{html,js,vue}"], // Pfade der zu scannenden Template-Dateien definieren
theme: {
extend: {}, // Benutzerdefinierte Erweiterungen
},
plugins: [], // Plugins konfigurieren
}
Der obige Code weist Tailwind CSS an, alle .html-, .js- und .vue-Dateien im Verzeichnis src zu scannen.
Hauptkonfigurationselemente
1. Vorlagenpfad konfigurieren: content
In der Datei tailwind.config.js wird die Option content verwendet, um anzugeben, welche Dateien Tailwind CSS scannen soll, um Klassennamen zu sammeln.content: [
"./index.html", // 单文件路径
"./src/**/*.{html,js,ts,jsx,tsx}", // 包含多个文件类型的路径
],
Dies weist Tailwind CSS an, alle .html-, .js-, .ts-, .jsx- und .tsx-Dateien im Verzeichnis src zu scannen.
Das Feld content wird verwendet, um die Pfade der Vorlagendateien für Tailwind anzugeben. Tailwind scannt diese Dateien, um die erforderlichen Stile zu generieren, wodurch die Größe der generierten CSS-Datei reduziert wird, indem nur Stile generiert werden, die in den Vorlagendateien verwendet werden, und verhindert wird, dass ungenutzte Stile in die endgültige Ausgabe kompiliert werden.
2. Theme anpassen: theme
Im Abschnitt theme können Sie Farben, Schriftarten, Abstände, Rahmengrößen und mehr definieren.
Zum Beispiel die Standardfarben erweitern oder neue Farben hinzufügen:
theme: {
extend: {
colors: {
cyan: '#9CDBFF',
}
}
}Dadurch wird eine neue Farbe namens cyan hinzugefügt, und Sie können Klassennamen wie bg-cyan in Ihrem Projekt verwenden.
| Konfigurationselement | Beschreibung | Beispiel |
|---|---|---|
fontSize | Benutzerdefinierte Schriftgröße | javascript fontSize: { 'xs': '0.75rem', '4xl': '2.5rem', }, |
screens | Breakpoints definieren (responsives Design) | javascript screens: { 'sm': '640px', 'xl': '1280px', }, |
borderRadius | Benutzerdefinierter Border-Radius | javascript borderRadius: { 'lg': '1rem', 'xl': '1.5rem', }, |
extend | Bestehende Standardwerte erweitern | javascript extend: { colors: { danger: '#FF5A5F', }, }, |
Beispiel
extend: {
colors: {
primary: '#1D4ED8',
secondary: '#64748B',
},
spacing: {
18: '4.5rem', // 4.5rem-Abstand hinzufügen
},
fontSize: {
'4xl': '2.5rem',
},
borderRadius: {
'xl': '1.5rem',
},
screens: {
'2xl': '1536px', // Neue responsive Breakpoints hinzufügen
},
},
}
Farben über theme.colors definieren und in Stilen darauf verweisen.
theme: {
extend: {
colors: {
brand: {
light: '#93C5FD',
DEFAULT: '#3B82F6',
dark: '#1E40AF',
},
},
},
}
Beispiel
Ausprobieren »
Aktiviere die Dark-Mode-Unterstützung von Tailwind über darkMode.
module.exports = {
darkMode: 'class', // oder 'media'
theme: {
extend: {
colors: {
background: {
light: '#FFFFFF',
dark: '#000000',
},
},
},
},
}
Beispiel
Dunkelmodus-Beispiel
</div>
3. Varianten konfigurieren: variants
Mit der Option variants können Sie definieren, welche Zustände (wie hover, focus usw.) in das endgültige CSS aufgenommen werden sollen.
Sie können die Standardvarianten erweitern oder überschreiben:
variants: {
extend: {
borderColor: ['focus-visible'],
opacity: ['disabled'],
}
}
4. Plugins verwenden: plugins
Mit der Option plugins können Sie benutzerdefinierte Utility-Klassen hinzufügen.
Diese Plugins können offiziell von Tailwind CSS bereitgestellt oder von der Community erstellt werden, mit folgendem Format:
plugins: [
require('some-tailwindcss-plugin')
]
Beispiel für die Verwendung eines Plugins:
Beispiel
module.exports = {
plugins: [
plugin(function ({ addUtilities }) {
addUtilities({
'.text-shadow': {
textShadow: '2px 2px 4px rgba(0,0,0,0.5)',
},
});
}),
],
}
Community-Plugins importieren:
Beispiel
plugins: [
require('@tailwindcss/forms'), // Plugin für Formularstile
require('@tailwindcss/typography'), // Typografie-Plugin
],
}
Tailwind CSS-Konfiguration
Standardmäßig sucht Tailwind im Projektstammverzeichnis nach der Datei tailwind.config.js, in der du die benötigten Konfigurationsinformationen festlegen kannst:
Beispiel
module.exports = {
// Gibt an, aus welchen Dateien Tailwind CSS Klassennamen extrahieren soll. Hier ist konfiguriert, dass aus allen `.html`- und `.js`-Dateien im Verzeichnis `./src` extrahiert wird.
content: ['./src/**/*.{html,js}'],
theme: {
// Benutzerdefinierte Farbkonfiguration
colors: {
'blue': '#1fb6ff', // Definiert eine Farbe namens 'blue' mit dem Wert #1fb6ff
'purple': '#7e5bef', // Definiert eine Farbe namens 'purple' mit dem Wert #7e5bef
'pink': '#ff49db', // Definiert eine Farbe namens 'pink' mit dem Wert #ff49db
'orange': '#ff7849', // Definiert eine Farbe namens 'orange' mit dem Wert #ff7849
'green': '#1370CE', // Definiert eine Farbe namens 'green' mit dem Wert #1370CE
'yellow': '#ffc82c', // Definiert eine Farbe namens 'yellow' mit dem Wert #ffc82c
'gray-dark': '#273444', // Definiert eine Farbe namens 'gray-dark' mit dem Wert #273444
'gray': '#8492a6', // Definiert eine Farbe namens 'gray' mit dem Wert #8492a6
'gray-light': '#d3dce6' // Definiert eine Farbe namens 'gray-light' mit dem Wert #d3dce6
},
// Benutzerdefinierte Schriftfamilien-Konfiguration
fontFamily: {
sans: ['Graphik', 'sans-serif'], // Definiert eine Schriftfamilie namens 'sans', einschließlich 'Graphik' und der generischen 'sans-serif'
serif: ['Merriweather', 'serif'] // Definiert eine Schriftfamilie namens 'serif', einschließlich 'Merriweather' und der generischen 'serif'
},
// Benutzerdefinierte Erweiterungskonfiguration
extend: {
// Benutzerdefinierte Abstands-Erweiterung
spacing: {
'8xl': '96rem', // Definiert einen Abstand namens '8xl' mit dem Wert 96rem
'9xl': '128rem' // Definiert einen Abstand namens '9xl' mit dem Wert 128rem
},
// Benutzerdefinierte Border-Radius-Erweiterung
borderRadius: {
'4xl': '2rem' // Definiert einen Border-Radius namens '4xl' mit dem Wert 2rem
}
}
},
}
Die folgende Tabelle listet die Konfigurationsoptionen der Datei tailwind.config.js und ihre Verwendungsbeschreibungen auf:
| Konfigurationselement | Beschreibung | Standardwert | Beispiel |
|---|---|---|---|
| content | Konfigurieren Sie die Vorlagendateipfade, die Tailwind CSS scannen soll, um ungenutzte Stile zu entfernen. | ['./src/**/*.{html,js,ts,jsx,tsx}'] | content: ["./src/**/*.html", "./src/**/*.vue"] |
| theme | Wird verwendet, um das Standard-Designsystem von Tailwind zu definieren und zu erweitern, einschließlich Farben, Abstände, Schriftarten usw. | extend: {} | theme: { colors: { primary: '#3490dc' } } |
| extend | Wird verwendet, um die Standardkonfigurationselemente von Tailwind zu erweitern, anstatt die Standardwerte zu überschreiben. | {} | extend: { colors: { primary: '#3490dc' } } |
| screens | Konfigurieren Sie responsive Breakpoints, um festzulegen, wann bestimmte Stile angewendet werden. | { sm: '640px', md: '768px', lg: '1024px', xl: '1280px' } | screens: { '2xl': '1536px' } |
| colors | Passen Sie die Farbpalette an oder erweitern Sie sie. | Stellt standardmäßig eine Reihe von Farben bereit, wie z. B.blue, red, greenwarten | colors: { primary: '#1D4ED8', secondary: '#64748B' } |
| spacing | Legen Sie Innen- und Außenabstände fest (p, m, pt, mtusw.). | Stellt standardmäßig Einheiten bereit, wie z. B.0.5rem, 1rem, 2remwarten | spacing: { 18: '4.5rem' } |
| fontFamily | Passen Sie die Schriftfamilie an. | 'sans', 'serif', 'mono' | fontFamily: { sans: ['Inter', 'sans-serif'] } |
| fontSize | Passen Sie die Schriftgröße an. | 'sm': '0.875rem', 'lg': '1.125rem' | fontSize: { '4xl': '2.5rem' } |
| fontWeight | Passen Sie die Schriftstärke an. | 'normal', 'bold', 'bolder', 'lighter' | fontWeight: { 'light': '300', 'bold': '700' } |
| lineHeight | Legen Sie die Zeilenhöhe fest. | 'none': '1', 'tight': '1.25', 'normal': '1.5', 'loose': '2' | lineHeight: { 'relaxed': '1.75', 'loose': '2' } |
| borderRadius | Legen Sie den Rahmenradius fest. | 'none': '0px', 'sm': '0.125rem', 'md': '0.375rem', 'lg': '0.5rem' | borderRadius: { 'xl': '1.5rem' } |
| borderWidth | Rahmenbreite festlegen. | { default: '1px', '0': '0', '2': '2px' } | borderWidth: { '3': '3px' } |
| zIndex | Setz-indexdie Ebene. | { '0': '0', '10': '10', '20': '20' } | zIndex: { 'max': '9999' } |
| opacity | Deckkraftwert festlegen. | { '0': '0', '25': '0.25', '50': '0.5', '75': '0.75', '100': '1' } | opacity: { '40': '0.4' } |
| boxShadow | Box-Schatten festlegen. | { sm: '0 1px 2px 0 rgba(0, 0, 0, 0.05)', default: '0 4px 6px rgba(0, 0, 0, 0.1)'} | boxShadow: { 'lg': '0 10px 15px -3px rgba(0, 0, 0, 0.1)' } |
| container | Die maximale Breite des Containers festlegen (für responsives Design). | { center: false, padding: '2rem' } | container: { center: true, padding: '1rem' } |
| aspectRatio | Das Seitenverhältnis von Elementen festlegen. | { 'none': 'none' } | aspectRatio: { '16/9': '16/9' } |
| gridTemplateColumns | Die Spaltenvorlage von CSS Grid festlegen. | { auto: 'auto', '1fr': '1fr' } | gridTemplateColumns: { 'layout': 'repeat(3, 1fr)' } |
| gridColumn | Das column-span-Verhalten von Grid-Elementen festlegen. | { 'span-1': 'span 1 / span 1' } | gridColumn: { 'span-2': 'span 2 / span 2' } |
| transitionProperty | Übergangseigenschaften festlegen. | { all: 'all' } | transitionProperty: { 'color': 'color' } |
| transitionDuration | Übergangsdauer festlegen. | { 75: '75ms', 150: '150ms', 300: '300ms' } | transitionDuration: { '400': '400ms' } |
| transitionTimingFunction | Stellen Sie die Timing-Funktion für Übergänge ein. | { 'ease': 'ease', 'linear': 'linear' } | transitionTimingFunction: { 'ease-out': 'ease-out' } |
Mit tailwind.config.js können Sie die Funktionen und Stile von Tailwind CSS einfach an verschiedene Designanforderungen anpassen. Eine sinnvolle Nutzung von Funktionen wie extend, plugins und theme-Konfiguration kann die Effizienz der Projektentwicklung und die Stilflexibilität erheblich verbessern.
Andere Erweiterungen