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

/** @type {import('tailwindcss').Config} */
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.

KonfigurationselementBeschreibungBeispiel
fontSizeBenutzerdefinierte Schriftgrößejavascript fontSize: { 'xs': '0.75rem', '4xl': '2.5rem', },
screensBreakpoints definieren (responsives Design)javascript screens: { 'sm': '640px', 'xl': '1280px', },
borderRadiusBenutzerdefinierter Border-Radiusjavascript borderRadius: { 'lg': '1rem', 'xl': '1.5rem', },
extendBestehende Standardwerte erweiternjavascript extend: { colors: { danger: '#FF5A5F', }, },

Beispiel

theme: {
  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

<div class="bg-brand text-brand-light">Beispiel für benutzerdefinierte Farben</div>

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

<div class="bg-background-light dark:bg-background-dark">
  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

const plugin = require('tailwindcss/plugin');

module.exports = {
  plugins: [
    plugin(function ({ addUtilities }) {
      addUtilities({
        '.text-shadow': {
          textShadow: '2px 2px 4px rgba(0,0,0,0.5)',
        },
      });
    }),
  ],
}

Community-Plugins importieren:

Beispiel

module.exports = {
  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

/** @type {import('tailwindcss').Config} */
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:

KonfigurationselementBeschreibungStandardwertBeispiel
contentKonfigurieren Sie die Vorlagendateipfade, die Tailwind CSS scannen soll, um ungenutzte Stile zu entfernen.['./src/**/*.{html,js,ts,jsx,tsx}']content: ["./src/**/*.html", "./src/**/*.vue"]
themeWird verwendet, um das Standard-Designsystem von Tailwind zu definieren und zu erweitern, einschließlich Farben, Abstände, Schriftarten usw.extend: {}theme: { colors: { primary: '#3490dc' } }
extendWird verwendet, um die Standardkonfigurationselemente von Tailwind zu erweitern, anstatt die Standardwerte zu überschreiben.{}extend: { colors: { primary: '#3490dc' } }
screensKonfigurieren Sie responsive Breakpoints, um festzulegen, wann bestimmte Stile angewendet werden.{ sm: '640px', md: '768px', lg: '1024px', xl: '1280px' }screens: { '2xl': '1536px' }
colorsPassen Sie die Farbpalette an oder erweitern Sie sie.Stellt standardmäßig eine Reihe von Farben bereit, wie z. B.blue, red, greenwartencolors: { primary: '#1D4ED8', secondary: '#64748B' }
spacingLegen Sie Innen- und Außenabstände fest (p, m, pt, mtusw.).Stellt standardmäßig Einheiten bereit, wie z. B.0.5rem, 1rem, 2remwartenspacing: { 18: '4.5rem' }
fontFamilyPassen Sie die Schriftfamilie an.'sans', 'serif', 'mono'fontFamily: { sans: ['Inter', 'sans-serif'] }
fontSizePassen Sie die Schriftgröße an.'sm': '0.875rem', 'lg': '1.125rem'fontSize: { '4xl': '2.5rem' }
fontWeightPassen Sie die Schriftstärke an.'normal', 'bold', 'bolder', 'lighter'fontWeight: { 'light': '300', 'bold': '700' }
lineHeightLegen Sie die Zeilenhöhe fest.'none': '1', 'tight': '1.25', 'normal': '1.5', 'loose': '2'lineHeight: { 'relaxed': '1.75', 'loose': '2' }
borderRadiusLegen Sie den Rahmenradius fest.'none': '0px', 'sm': '0.125rem', 'md': '0.375rem', 'lg': '0.5rem'borderRadius: { 'xl': '1.5rem' }
borderWidthRahmenbreite festlegen.{ default: '1px', '0': '0', '2': '2px' }borderWidth: { '3': '3px' }
zIndexSetz-indexdie Ebene.{ '0': '0', '10': '10', '20': '20' }zIndex: { 'max': '9999' }
opacityDeckkraftwert festlegen.{ '0': '0', '25': '0.25', '50': '0.5', '75': '0.75', '100': '1' }opacity: { '40': '0.4' }
boxShadowBox-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)' }
containerDie maximale Breite des Containers festlegen (für responsives Design).{ center: false, padding: '2rem' }container: { center: true, padding: '1rem' }
aspectRatioDas Seitenverhältnis von Elementen festlegen.{ 'none': 'none' }aspectRatio: { '16/9': '16/9' }
gridTemplateColumnsDie Spaltenvorlage von CSS Grid festlegen.{ auto: 'auto', '1fr': '1fr' }gridTemplateColumns: { 'layout': 'repeat(3, 1fr)' }
gridColumnDas 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' }
transitionTimingFunctionStellen 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