Ontwerp Systeem
Tailwind CSS
Tailwind CSS maakt gebruik van een CSS-first configuratie, waarmee u uw ontwerptokens met de @theme direct in uw CSS kunt definiëren. Dit maakt uw thema draagbaar, onderhoudbaar en gemakkelijk aan te passen
.
@import "tailwindcss";
@import "@nuxt/ui";
@theme {
/* Your custom design tokens go here */
}
cursor: default gebruiken in plaats van cursor: pointer om de standaardwaarden van de browser te evenaren.
Als u de aanwijzercursor wereldwijd wilt herstellen, voegt u deze basisstijlen toe aan uw CSS:@layer base {
button:not(:disabled),
[role="button"]:not(:disabled) {
cursor: pointer;
}
}
Lettertypen
Gebruik de themavariabelen --font-* om de lettertypefamilie utilities](https://tailwindcss.com/docs/font-family#customizing-your-theme) in uw project aan te passen.
@import "tailwindcss";
@import "@nuxt/ui";
@theme {
--font-sans: 'Public Sans', system-ui, sans-serif;
--font-mono: 'JetBrains Mono', monospace;
}
@nuxt/fonts module.Kleuren
Gebruik de --color-* thema variabelen om customize uw colors of override standaard colors.
@import "tailwindcss";
@import "@nuxt/ui";
@theme static {
/* Override default green color */
--color-green-50: #EFFDF5;
--color-green-100: #D9FBE8;
--color-green-200: #B3F5D1;
--color-green-300: #75EDAE;
--color-green-400: #00DC82;
--color-green-500: #00C16A;
--color-green-600: #00A155;
--color-green-700: #007F45;
--color-green-800: #016538;
--color-green-900: #0A5331;
--color-green-950: #052E16;
/* Define new custom color */
--color-brand-50: #fef2f2;
--color-brand-100: #fee2e2;
--color-brand-200: #fecaca;
--color-brand-300: #fca5a5;
--color-brand-400: #f87171;
--color-brand-500: #ef4444;
--color-brand-600: #dc2626;
--color-brand-700: #b91c1c;
--color-brand-800: #991b1b;
--color-brand-900: #7f1d1d;
--color-brand-950: #450a0a;
}
50 tot 950 voor elke kleur definieert.Breekpunten
Gebruik de --breakpoint-* thema variabelen om customize uw breakpoints.
@import "tailwindcss";
@import "@nuxt/ui";
@theme {
--breakpoint-3xl: 1920px;
--breakpoint-4xl: 2560px;
--breakpoint-5xl: 3840px;
}
Motie
Gebruik de --ease-*-themavariabelen om de easing](https://tailwindcss.com/docs/transition-timing-function#customizing-your-theme) van de animaties en bewegingsovergangen in uw project aan te passen.
@import "tailwindcss";
@import "@nuxt/ui";
@theme {
--ease-out: cubic-bezier(0.16, 1, 0.3, 1);
}
Animaties invoeren en afsluiten draaien op --ease-out, onbepaald laden van animaties op --ease-in-out, dus overschrijven deze twee retimes de bibliotheek.
prefers-reduced-motion is ingesteld, vervagen overlays op hun plaats in plaats van schalen of glijden en worden bewegingsovergangen uitgeschakeld.Color Systeem
Het kleursysteem van Nuxt UI is ontworpen rond semantic naming in plaats van specifieke kleurwaarden. Deze aanpak maakt uw gebruikersinterface beter onderhoudbaar en maakt het wisselen van thema 's eenvoudig.
Semantische kleuren
Nuxt UI biedt semantische kleuraliassen die de purpose van de kleur beschrijven.
Elke alias wordt gedefinieerd op basis van een kleur uit uw @theme-configuratie, die elke kleur kan zijn die u definieert naast de default Tailwind CSS palette.
| Kleur | Standaard | Omschrijving |
|---|---|---|
primary | green | Belangrijkste CTA 's, actieve navigatie, merkelementen, belangrijke links |
secondary | blue | Secundaire knoppen, alternatieve acties, complementaire UI-elementen |
success | green | Succesberichten, voltooide staten, positieve bevestigingen |
info | blue | Infoalerts, tooltips, helptekst, neutrale meldingen |
warning | yellow | Waarschuwingsberichten, wachtende staten, aandachtspunten |
error | red | Foutmeldingen, validatiefouten, destructieve acties |
neutral | slate | Tekst, randen, achtergronden, uitgeschakelde staten |
Deze semantische kleuren zijn beschikbaar in de color prop van Nuxt UI-componenten:
<template>
<UButton color="primary">Save Changes</UButton>
</template>Runtime configuratie
U kunt deze kleuren tijdens runtime configureren in uw app.config.ts bestand onder de ui.colors-sleutel, waardoor dynamische thema-aanpassing mogelijk is zonder de server opnieuw op te starten:
export default defineAppConfig({
ui: {
colors: {
primary: 'blue',
secondary: 'purple',
neutral: 'zinc'
}
}
})
U kunt deze kleuren tijdens runtime configureren in uw vite.config.ts-bestand onder de ui.colors-sleutel, waardoor dynamische thema-aanpassing mogelijk is:
import { defineConfig } from 'vite'
import vue from '@vitejs/plugin-vue'
import ui from '@nuxt/ui/vite'
export default defineConfig({
plugins: [
vue(),
ui({
ui: {
colors: {
primary: 'blue',
secondary: 'purple',
neutral: 'zinc'
}
}
})
]
})
- De standaard colors](https://tailwindcss.com/docs/colors) van [Tailwind gebruiken (zoals
blue,green,zinc) - Definieer eerst aangepaste kleuren met de
@theme-richtlijn (zoalsbrandin ons voorbeeld hierboven)
Kleuren uitbreiden
Mogelijk wilt u extra semantische kleuren definiëren die verder gaan dan de standaardwaarden, zoals het toevoegen van een tertiary-kleur:
Registreer eerst de nieuwe kleur in je nuxt.config.ts onder de ui.theme.colors toets:
export default defineNuxtConfig({
ui: {
theme: {
colors: [
'primary',
'secondary',
'tertiary',
'info',
'success',
'warning',
'error'
]
}
}
})
Wijs het vervolgens toe in uw app.config.ts onder de ui.colors-toets:
export default defineAppConfig({
ui: {
colors: {
primary: 'blue',
secondary: 'purple',
tertiary: 'indigo'
}
}
})
Registreer en wijs de nieuwe kleur toe in je vite.config.ts bestand:
import { defineConfig } from 'vite'
import vue from '@vitejs/plugin-vue'
import ui from '@nuxt/ui/vite'
export default defineConfig({
plugins: [
vue(),
ui({
theme: {
colors: [
'primary',
'secondary',
'tertiary',
'info',
'success',
'warning',
'error'
]
},
ui: {
colors: {
primary: 'blue',
secondary: 'purple',
tertiary: 'indigo'
}
}
})
]
})
Gebruik ten slotte deze nieuwe kleur in componenten die de color prop of as een class ondersteunen:
<UButton color="tertiary">
Special Action
</UButton>