Tailwind CSS: Een handleiding voor beginners om vanaf nul een moderne, responsieve gebruikersomgeving (UI) te bouwen

3 minuten leestijd
2026-03-18
2,671
Ik verdien commissies wanneer je via de onderstaande links winkelt, zonder dat dit extra kosten voor jou met zich meebrengt.

In de huidige, snel veranderende wereld van front-endontwikkeling is het voor elke ontwikkelaar van belang om een efficiënt, consistent en gemakkelijk te onderhouden stijlplan te hanteren. De traditionele manier van CSS-programmeren gaat vaak gepaard met problemen als namenconflicten, onnodig veel stijlregels en moeite bij het wisselen van context. Praktische CSS-frames bieden hier een oplossing. Tailwind CSS Het is precies ontworpen om deze problemen op te lossen. In plaats van vooraf ontworpen UI-componenten (zoals knoppen of kaarten) biedt het een compleet set van onderliggende, praktische klassen (Utility Classes). Met deze klassen kun je in HTML snel en eenvoudig elke gewenste, aangepaste lay-out bouwen.

Het kernconcept is “beperking is vrijheid”. Dit wordt gerealiseerd door een zorgvuldig ontworpen systeem (met onder andere kleuren, afstanden, fontgrootten en andere visuele elementen).Tailwind CSS Het visuele consistente uiterlijk van het project wordt gewaarborgd, terwijl ontwikkelaars bijna onbeperkte mogelijkheden hebben voor personalisatie krijgen. Je hoeft geen moeite meer te doen om een goede klassenaam te bedenken, en je hoeft ook niet meer vaak heen en weer te schakelen tussen CSS- en HTML-bestanden. Dit ontwikkelingsmodel versnelt enorm het proces van prototypen maken en het bouwen van complexe, responsieve interfaces.

De kernconcepten van Tailwind CSS zijn:

Om het efficiënt te gebruiken… Tailwind CSSEerst moet je de verschillende kernonderdelen begrijpen die er zijn.

Aanbevolen leesmateriaal Volledige handleiding voor het gebruik van Tailwind CSS: van basisconcepten tot het ontwikkelen van praktische projecten

Stijlen die worden gedreven door praktische klassen

Tailwind CSS Alle functionaliteiten worden gerealiseerd door praktische (practical) klassen. Elke klasse correspondeert met één enkele CSS-attribuut..text-center Corresponderend met text-align: center;.bg-blue-500 Corresponderend met background-color: #3b82f6;.mt-4 Corresponderend met margin-top: 1rem;Door deze atomiseerde klassen te combineren, kun je complexe componenten bouwen.

De websitebouwer van WordPress.com
De websitebouwer van WordPress.com
99.999% beschikbaarheid + disaster recovery tussen regio's, 24-uurs ondersteuning, gratis gebruik van A.I. bij het bouwen van websites bij aankoop van een blogpakket.
De websitebouwassistent van UltaHost.
De websitebouwassistent van UltaHost.
Meer dan 900 gratis, aanpasbare sjablonen met de SEO-functionaliteit die nodig is om de zichtbaarheid van websites in zoekmachines te optimaliseren.
<button class="bg-blue-500 hover:bg-blue-700 text-white font-bold py-2 px-4 rounded">
  点击我
</button>

Deze code definieert rechtstreeks een button met een blauwe achtergrond, witte tekst, een bepaalde rand (padding) en ronde hoeken. De achtergrondkleur wordt donkerder wanneer de muis erover wordt gehouden. Alle stijlkenmerken zijn duidelijk opgegeven in het HTML.

Responsief ontwerp

Responsief ontwerp is... Tailwind CSS Het beschikt over een ingebouwd systeem voor het bepalen van de status van gebruikers (bijvoorbeeld 'eerste klas burger'). Het gebruikt een breakpoint-systeem dat prioriteit geeft aan mobiele gebruikers. De standaardprefixen voor breakpoints zijn bijvoorbeeld... sm:md:lg:xl:2xl: Dit maakt het gemakkelijk om stijlen aan te passen voor verschillende schermgrootten.

<div class="text-base md:text-lg xl:text-xl">
  De tekst wordt weergegeven in de basismaat op een mobiele telefoon, wordt groter op een middelgrote scherm en nog groter op een grote scherm.
</div>

Statusvarianten

Naast responsive design…Tailwind CSS Er worden ook diverse prefixen voor statusvarianten aangeboden, die worden gebruikt om met interactieve statusen om te gaan. Voorbeeld:hover:focus:active:disabled: Dit maakt het gemakkelijk om de stijl van elementen in verschillende toestanden te definiëren.

<button class="bg-gray-300 hover:bg-gray-400 focus:ring-2 focus:ring-blue-500">
  交互按钮
</button>

Hoe start je met een Tailwind CSS-project?

Ga aan de slag Tailwind CSS Er zijn verschillende manieren om dit te doen, waarvan de meest aanbevolen methode is om gebruik te maken van de command-line-interface (CLI) of om het te integreren met build-tools.

Aanbevolen leesmateriaal Master the Tailwind CSS framework: een praktische gids van de basis tot de kernfuncties

Integreren met PostCSS (aan te raden)

Voor de meeste moderne front-end-projecten (die zijn gemaakt met tools als Vite, Next.js, Vue CLI of Create React App) is het integreren van PostCSS de beste praktijk. Eerst moet je de benodigde pakketten installeren met npm of yarn.

npm install -D tailwindcss postcss autoprefixer
npx tailwindcss init -p

Dit zal twee configuratiebestanden genereren:tailwind.config.jspostcss.config.jsVolgens de opgegeven instructies moet je nu naar je hoofd-CSS-bestand gaan (bijvoorbeeld...). src/styles.csssrc/index.css) wordt hier ingevoerd Tailwind CSS De instructies.

@tailwind base;
@tailwind components;
@tailwind utilities;

Nu worden deze instructies door je buildtool (bijvoorbeeld Vite) verwerkt tijdens het bouwproces, waardoor een CSS-bestand wordt gemaakt dat alleen de klassen bevat die je daadwerkelijk gebruikt. Dit proces heet “Tree Shaking” en zorgt voor een aanzienlijke verkleining van de grootte van het resultaat.

De Bluehost-websitebouwer
Het aanbieden van tools voor het maken van websites met A.I., 24/7 online chat- en telefonische ondersteuning, een gratis domeinnaam voor een jaar, gratis CDN en een uptime SLA van 99,991%

Uitleg over de configuratiebestand

tailwind.config.jsTailwind CSS Het “brein” van het systeem. Hier kun je het ontwerp van het systeem volledig zelf bepalen. Dit kan je doen door bepaalde onderdelen van het systeem te bewerken of aan te passen. theme Je kunt de standaardkleuren, ruimtes, fonten en andere instellingen deels zelf bepalen.

// tailwind.config.js
module.exports = {
  content: ["./src/**/*.{html,js,jsx,ts,tsx,vue}"], // 指定需要扫描的文件
  theme: {
    extend: {
      colors: {
        'brand-blue': '#1992d4',
      },
      spacing: {
        '128': '32rem',
      }
    },
  },
  plugins: [],
}

kritisch content De configuratie wordt gebruikt om aan te geven… Tailwind CSS Welke bestanden moet worden gescand op de namen van klassen, zodat deze stijlen worden behouden tijdens de productie-build? Zorg ervoor dat deze instellingen worden aangepast aan de structuur van je project.

Een echte UI-component bouwen

Nu we de basisconcepten hebben begrepen en de omgeving zijn ingericht, gaan we dit in praktijk brengen door een simpel kaartcomponent te bouwen.

Aanbevolen leesmateriaal In één artikel worden de kernconcepten van Tailwind CSS behandeld: van een introductie tot een praktische gids voor het maken van layouts.

Een basiskaartcomponent

We gaan een kaart maken met een profielfoto, een titel, een beschrijving en actieknoppen.

<div class="max-w-sm rounded-xl overflow-hidden shadow-lg bg-white p-6">
  <div class="flex items-center mb-4">
    <img class="w-12 h-12 rounded-full mr-4" src="/avatar.jpg" alt="Gebruikersprofielfoto">
    <div>
      <h2 class="text-xl font-bold text-gray-900">Zhang San</h2>
      <p class="text-gray-600">Front-end engineer</p>
    </div>
  </div>
  <p class="text-gray-700 mb-4">
    Dit is een voorbeeld van een kaartcomponent dat is gemaakt met Tailwind CSS. Het toont hoe je eenvoudig praktische klassen kunt combineren om een mooi en functioneel gebruikersinterface (UI) te creeren.
  </p>
  <div class="flex justify-end space-x-2">
    <button class="px-4 py-2 bg-gray-200 text-gray-800 rounded-lg hover:bg-gray-300 transition-colors">
      Annuleren
    </button>
    <button class="px-4 py-2 bg-brand-blue text-white rounded-lg hover:bg-blue-600 transition-colors">
      Bevestigen
    </button>
  </div>
</div>

In dit voorbeeld hebben we gebruik gemaakt van de spacing-klassen.p-6, mb-4, space-x-2)、Typografie (…)text-xl, font-bold)、kleurklassen (color classes)text-gray-900, bg-whiteLayout classesflex, items-center, justify-end) en effectgerelateerde categorieën (shadow-lg, rounded-xl, transition-colorsWe hebben ook de kleuren gebruikt die in de configuratiebestand zijn ingesteld. bg-brand-blue

hosting.com
Gratis SSL, Cloudflare CDN, WAF, 40+ wereldwijde datacenters om uit te kiezen, lagere latentie dankzij een locatie dichterbij, 24/7/365 serviceondersteuning. Je bespaart nu tot wel 671 TP4T, en ondersteuning voor A.I.-ontwikkeling en SEO-optimalisatie is inbegrepen.

Componenten extraheren en gebruiken met @apply

Als de klassenaam van een component te lang wordt, of wanneer je de component op meerdere plaatsen moet gebruiken, kun je gebruikmaken van… @apply De instructie bevat een overzicht van de meest gebruikelijke en praktische CSS-klassen, die zijn opgeslagen in een aangepaste set CSS-klassen.

/* 在你的 CSS 文件中 */
.btn-primary {
  @apply px-4 py-2 bg-blue-600 text-white font-semibold rounded-lg shadow-md hover:bg-blue-700 focus:outline-none focus:ring-2 focus:ring-blue-400 focus:ring-opacity-75 transition-all;
}

Vervolgens kun je deze kortere klassenaam rechtstreeks gebruiken in HTML.

<button class="btn-primary">
  主要按钮
</button>

Vergeet niet dat overmatig gebruik kan leiden tot negatieve gevolgen. @apply Het kan je misschien terugleiden naar de oude manier van schrijven in traditioneel CSS, waardoor je enkele van de intuïtieve voordelen van “het bekijken van stijlen in de markup” kwijt raakt. Het is echter beter geschikt voor het extraheren van stijlpatronen die echt zeer herhaald worden.

Advanced features en best practices

Naarmate het project groter wordt, is het handig om enkele geavanceerde functies en beste praktijken te beheersen, zodat je het project beter kunt bewegen. Tailwind CSS

Functies uitbreiden met plugins

Tailwind CSS Er is een rijke plugin-ecosysteem beschikbaar. Denk hierbij aan de officieel beschikbare plugins. @tailwindcss/forms De plugin biedt de formulierelementen betere standaardstijlen.@tailwindcss/typography Plugins kunnen mooie opmaakstijlen toevoegen aan het Markdown- of HTML-content dat je rendert. Je kunt ze installeren via npm en ze vervolgens invoegen in je configuratiebestand.

// tailwind.config.js
module.exports = {
  // ...
  plugins: [
    require('@tailwindcss/forms'),
    require('@tailwindcss/typography'),
  ],
}

Performance Optimalisatie en Productiebuild

In de ontwikkelingsmodus:Tailwind CSS Er wordt een grote stylesheet gemaakt die alle klassen bevat. Tijdens het productieproces moet je ervoor zorgen dat de build-proces op de juiste manier is ingesteld, zodat de ‘tree shaking’-optimalisatie wordt geactiveerd. Dit is volledig afhankelijk van jouw instellingen. content Is de configuratie zo opgesteld dat alle bronbestanden (templates, componenten, Markdown-bestanden, etc.) die classnamen bevatten worden meegevat? De CSS-bestanden die na de bouw worden gemaakt, zijn meestal slechts enkele KB tot enkele tientallen KB groot.

Een andere goede praktijk is om voorrang te geven aan het gebruik van… Tailwind CSS De designtokens (zoals...) text-gray-800), in plaats van een willekeurige waarde (zoals text-[#333]Dit zorgt ervoor dat het ontwerpssysteem optimaal wordt gebruikt en de consistentie wordt behouden.

In combinatie met JavaScript-framesworks

In componentframeworks als React, Vue of Svelte:Tailwind CSS De prestaties zijn eveneens uitstekend. Je kunt de logica van de klassennamen combineren met de staat van de componenten.

// React 组件示例
function Alert({ message, type }) {
  const bgColor = type === 'error' ? 'bg-red-100' : 'bg-blue-100';
  const textColor = type === 'error' ? 'text-red-800' : 'text-blue-800';
  return (
    <div classname="{`p-4" rounded ${bgcolor} ${textcolor}`}>
      \n{message}
    </div>
  );
}

Samenvatting

Tailwind CSS Dankzij zijn unieke filosofie van praktische prioriteiten heeft dit product de manier waarop ontwikkelaars hun stijlen schrijven en beheren radicaal veranderd. Het biedt een set gestructureerde design-elementen (‘design atoms’) die visuele consistentie garanderen en tegelijkertijd de efficiëntie en flexibiliteit van UI-ontwikkeling aanzienlijk verbeteren. Het is geschikt voor zowel snel ontworpen prototypes als grote, geproduceerde toepassingen. In het begin moet je veel klassennamen onthouden, maar eenmaal vertrouwd met de benamingsschema's wordt de ontwikkelingservaring veel soepeler. Tailwind CSSDit betekent dat je je aansluit aan een modernere en efficiëntere manier van front-end-ontwikkeling.

Veelgestelde vragen (FAQ)

Zijn de CSS-bestanden die met Tailwind CSS worden gegenereerd erg groot?

Nee. Dat is precies wat... Tailwind CSS Eén van de belangrijkste voordelen is dat het tijdens het productieproces je projectbestanden statisch analyseert met behulp van de “PurgeCSS”-technologie (bekend als ‘tree shaking’). tailwind.config.jscontent De configuratie bepaalt welke CSS-klassen worden gebruikt; alleen de klassen die daadwerkelijk worden toegepast worden behouden, terwijl alle ongebruikte stijlen worden verwijderd. Het resultaat is een CSS-bestand dat meestal zeer klein is – zelfs kleiner dan veel handgemaakte CSS-bestanden of CSS-bestanden van traditionele UI-frames.

In teamprojecten: hoe kan je de consistentie van het schrijven van stijlregels (stijlboeken) garanderen?

Tailwind CSS Het is in feite een krachtig hulpmiddel voor het bepalen van stijlregels. Het ingebouwde ontwerpssysteem (zoals een vast kleurenpalet, regelmatige afstanden en bepaalde grenzen) dwingt teamleden om dezelfde ontwerpprincipes te gebruiken, waardoor visuele consistentie wordt gewaarborgd. Daarnaast kan het worden gecombineerd met intelligente suggesties van editors (bijvoorbeeld Tailwind CSS IntelliSense) en tools voor het opmaken van code (bijvoorbeeld de Tailwind CSS-plugin van Prettier). Deze tools ordenen automatisch de klassennamen, waardoor de codestijl nog meer wordt geuniformiseerd.

Moet voor elke element een lange reeks klassennamen worden opgegeven?

Niet noodzakelijk. Voor zeer repetitieve en gestructureerde UI-patronen in een project (bijvoorbeeld formulierbesturingselementen, kaarten of navigatiebalken met een specifieke stijl) wordt aanbevolen om dubbel werk te voorkomen door een van de volgende twee methoden te gebruiken: 1. Ze abstracteren in een component framework (zoals React of Vue) tot een herbruikbare component; 2. Ze maken gebruik van @apply In CSS worden instructies gebruikt om een samengestelde klasse (composite class) te extraheren. Voor éénmalige elementen of elementen met een eenvoudige structuur, is het meest directe en efficiënte manier om de klassenaam rechtstreeks in het HTML op te nemen.

Hoe kun je het standaardthema van Tailwind overschrijven of aanpassen?

Maar om een thema aan te passen, moet je voornamelijk de broncode van het thema bewerken. tailwind.config.js In de configuratiebestand… theme Deel van dit kan worden gerealiseerd door… Je kunt bijvoorbeeld… theme.extend Er kunnen nieuwe waarden worden toegevoegd (bijvoorbeeld aangepaste kleuren of afstanden). Deze nieuwe waarden worden niet over het originele deel heen geschreven, maar worden er simpelweg aan toegevoegd. Als je een bepaald standaardwaarde helemaal wilt overschrijven (bijvoorbeeld de standaardfontgrootte), kun je dit rechtstreeks doen. theme Onder (in plaats van) extend De definitie van deze eigenschap wordt gegeven in de officiële documentatie. Hierin vindt u ook uitgebreide richtlijnen voor het personaliseren van het thema.