Czas nauczyć się Tailwind CSS - najpopularniejszego frameworka CSS w 2024 roku.
Tailwind to utility-first CSS framework. Zamiast pisać CSS ręcznie, używasz gotowych klas.
1.button {
2 background-color: #dc2626;
3 color: white;
4 padding: 12px 24px;
5 border-radius: 8px;
6 font-weight: 600;
7}1<button class="button">Click me</button>1<button class="bg-red-600 text-white px-6 py-3 rounded-lg font-semibold">
2 Click me
3</button>Wszystko w klasach HTML! Nie piszesz CSS - używasz gotowych klas.
✅ Szybkość - nie przełączasz się między HTML i CSS ✅ Konsystencja - jeden system kolorów, spacingu ✅ Responsywność - łatwe breakpointy (sm:, md:, lg:) ✅ Brak konfliktów - nie nadpisujesz przypadkiem stylów ✅ Tree-shaking - tylko używane klasy w finalnym CSS ✅ Używany przez - GitHub, Shopify, Netflix
Tło (background):
bg-red-500 - czerwone tłobg-blue-600 - niebieskie tłobg-black - czarne tłobg-white - białe tłoTekst:
text-red-500 - czerwony teksttext-blue-600 - niebieski teksttext-gray-900 - ciemnoszary tekstKolory mają odcienie od 50 (najjaśniejszy) do 950 (najciemniejszy).
Padding (wewnętrzny odstęp):
p-4 - padding 16px ze wszystkich stronpx-4 - padding 16px left i rightpy-4 - padding 16px top i bottompt-4 - padding-top 16pxpr-4 - padding-right 16pxMargin (zewnętrzny odstęp):
m-4 - margin 16pxmx-auto - wyśrodkowanie (margin left/right auto)mt-8 - margin-top 32pxSkala: 0, 1, 2, 3, 4, 5, 6, 8, 10, 12, 16, 20, 24, 32, 40...
p-1 = 4pxp-2 = 8pxp-4 = 16pxp-8 = 32pxRozmiar:
text-xs - extra smalltext-sm - smalltext-base - normalny (16px)text-lg - largetext-xl - extra largetext-2xl, text-3xl, text-4xl - większeGrubość:
font-light - lekkifont-normal - normalnyfont-medium - średnifont-semibold - pół-grubyfont-bold - grubyWyrównanie:
text-left - lewotext-center - środektext-right - prawoDisplay:
block - display: blockinline - display: inlineflex - display: flexgrid - display: gridhidden - display: noneFlexbox:
flex - aktywuje flexboxflex-row - kierunek poziomy (default)flex-col - kierunek pionowyitems-center - wyśrodkowanie pionowejustify-center - wyśrodkowanie poziomegap-4 - odstęp między elementamiSzerokość:
w-full - width: 100%w-1/2 - width: 50%w-screen - width: 100vwmax-w-md - max-width: 448pxmax-w-4xl - max-width: 896pxWysokość:
h-screen - height: 100vh (cały ekran)min-h-screen - min-height: 100vhBorder:
border - border 1pxborder-2 - border 2pxborder-red-500 - czerwony borderRadius (zaokrąglenie):
rounded - border-radius 4pxrounded-lg - większe zaokrąglenierounded-full - pełne koło (50%)Tailwind ma wbudowane breakpointy:
sm: - 640px (tablet pionowo)md: - 768px (tablet poziomo)lg: - 1024px (laptop)xl: - 1280px (desktop)Przykład:
1<div class="text-sm md:text-base lg:text-lg">
2 Responsy wny tekst
3</div>text-sm (14px)text-base (16px)text-lg (18px)Mobile-first: piszesz dla mobile, potem dodajesz breakpointy dla większych ekranów.
1<button class="
2 bg-red-600
3 hover:bg-red-700
4 text-white
5 font-bold
6 py-3
7 px-6
8 rounded-lg
9 transition-colors
10 duration-200
11">
12 Dołącz do załogi!
13</button>Co się dzieje:
bg-red-600 - czerwone tłohover:bg-red-700 - ciemniejsze przy najechaniutext-white - biały tekstfont-bold - pogrubionypy-3 - padding top/bottompx-6 - padding left/rightrounded-lg - zaokrąglone rogitransition-colors - płynne przejście kolorówduration-200 - 200ms przejścieZamiast pamiętać wszystkie klasy, zapytaj AI!
Prompt:
1Stwórz piracki hero section w Tailwind z czarnym tłem, czerwonym nagłówkiem i złotym przyciskiemAI wygeneruje cały kod z odpowiednimi klasami Tailwind!
W Next.js Tailwind jest już skonfigurowany (jeśli wybrałeś "Yes" podczas setup'u).
Pliki konfiguracji:
tailwind.config.ts - konfiguracja (kolory, fonty)app/globals.css - dyrektywy TailwindW
globals.css zobaczysz:1@tailwind base;
2@tailwind components;
3@tailwind utilities;To importuje wszystkie klasy Tailwind.
Tailwind wspiera dark mode:
1<div class="bg-white dark:bg-gray-900 text-black dark:text-white">
2 Auto dark mode!
3</div>✅ Tailwind CSS - utility-first framework ✅ Klasy w HTML - nie piszesz CSS ręcznie ✅ bg-, text-, p-, m- - podstawowe klasy ✅ sm:, md:, lg: - breakpointy responsywne ✅ hover:, focus: - stany interaktywne ✅ AI pomaga - zapytaj o konkretne style
W następnym ćwiczeniu stworzymy landing page dla "Kraken's Call"!
Do zobaczenia! 🚀