Tailwind'ga o'tishdan oldin zarur bo'lgan CSS asoslari: box model, selector/property/value tushunchasi, display turlari, cascade va responsive mantiq — har biri Tailwind kontekstida, test va mashqlar bilan.
Tailwind CSS - bu CSS'ning o'zi emas, balki uning ustiga qurilgan qisqartma tizim. Shuning uchun Tailwind'ni chuqur tushunish uchun avval oddiy CSS qanday ishlashini bilish kerak.
CSS qoidasi uchta qismdan iborat: Selector (qaysi elementga), Property (nimani o'zgartirish), Value (qanday qiymat).
Brauzer HTML'ni o'qib, har bir elementga mos CSS qoidalarini qo'llaydi - shu orqali vizual ko'rinish belgilanadi.
styles.cssCSSp {color: blue;}
Tailwind'da bu xuddi shu narsa, faqat qisqartirilgan holda: text-blue-500 klassi ichida color: #3b82f6; degan CSS qoida yashiringan.
Har bir HTML element 4 qatlamli "quti": content, padding, border, margin.
🧠 Qutini tasavvur qiling: markazda kontent, uni o'rab turgan bo'shliq (padding), keyin chegara (border), va tashqarida boshqa elementlar bilan orasidagi masofa (margin).
styles.cssCSSmargin > border > padding > content
Tailwind'da: p-4 (padding), border-2 (border), m-4 (margin).
Deyarli har qanday zamonaviy layout Flexbox yoki Grid asosida quriladi — bular Part 9 va Part 10'da chuqur o'rganiladi.
An'anaviy CSS'da @media (min-width: 768px) { .card { width: 50%; } } yozish kerak. Tailwind'da xuddi shu narsa md:w-1/2 klassi orqali, @media yozmasdan amalga oshiriladi.
⚠️ Common Mistake
CSS asoslarini bilmasdan Tailwind spacing/responsive klasslarini yodlashga urinish — bu tushunishni chuqurlashtirmaydi, faqat sirtqi yodlashga olib keladi.
Task: Oddiy <div> yarating va unga faqat CSS (Tailwind'siz) yordamida padding: 16px; margin: 8px; border: 1px solid black; bering.
Hint: <style> tegidan yoki alohida CSS faylidan foydalaning.
Task: Brauzer DevTools (Inspect Element) orqali istalgan saytning bitta elementini oching va uning box model diagrammasida margin/border/padding qiymatlarini toping.
Hint: Chrome DevTools'da "Computed" tab'ida box model diagrammasi ko'rinadi.
Task: Bitta HTML sahifa yarating: mobil uchun (@media yozmasdan) bitta rang, 768px'dan katta ekranlar uchun boshqa rang bilan fon bering — faqat oddiy CSS media query orqali.
Hint: @media (min-width: 768px) { body { background: ...; } }
styles.cssCSS.box { padding: 10px; border: 5px solid black; margin: 20px; }
Agar .box elementining content kengligi 100px bo'lsa, uning umumiy egallagan joyi (border-box hisobga olinmasa) qancha bo'ladi?
🧠 Think first! Javobni ko'rishdan oldin kamida 30 soniya o'ylang.
<details> <summary>Answer</summary> Content (100px) + padding (10px x2 = 20px) + border (5px x2 = 10px) = 130px (margin bu hisobga kirmaydi, chunki u elementning o'zi emas, atrofidagi bo'shliq)Why?
Standart box model'da (box-sizing: content-box) width faqat content'ga tegishli, padding va border qo'shimcha qo'shiladi.
styles.cssCSS.card { width: 300px; padding: 20px; border: 2px solid gray; }
Your Task: Bu kartochka nega kutilganidan (300px) kengroq ko'rinadi? Sababini tushuntiring va tuzating.
<details> <summary>Solution</summary> Muammo: standart `box-sizing: content-box` bilan padding va border width'ga QO'SHILADI, shuning uchun haqiqiy kenglik 300+40+4=344px bo'ladi.Yechim:
</details>styles.cssCSS.card { box-sizing: border-box; width: 300px; padding: 20px; border: 2px solid gray; }
CSS uch narsadan iborat: selector, property, value. Box model 4 qatlamli: content, padding, border, margin. Tailwind bu tushunchalarni klass sifatida taqdim etadi, CSS'ni bekor qilmaydi.
p-*, m-*) mantiqsiz tuyuladiborder-box — Tailwind'ning standart (preflight) box-sizing qiymatism:, md:, lg: prefikslari ortida yashiringancode.textTEXTSelector { Property: Value; }Box Model: content < padding < border < marginTailwind: p-* (padding), m-* (margin), border-* (border)Responsive: md:{class} = @media (min-width: 768px)
Mavzu bo‘yicha tushunchalaringizni interaktiv test orqali sinovdan o‘tkazing va natijalarni bilib oling.
Darslikda o‘rganilgan qoidalarga asosan real kod yozing, testlardan o‘tkazing va yechimlarni mustahkamlang.
Test Sinovi
Hali topshirilmagan (kamida 75% kerak)
Amaliy Masalalar
0 / 3 ta yechildi (kamida 75% kerak)
Dars sifati va mazmunini yaxshilash uchun o‘z haqqoniy bahoingizni qoldiring.
Mavzuni to‘liq o‘zlashtirish uchun test sinovi, amaliy kodlash va bog‘liq darslar
O‘z bilimingizni interaktiv test savollari orqali tekshiring va darhol xatolarni tahlil qiling.
Nazariyani real kod yozish bilan mustahkamlang, avtomatik testlardan o‘ting va XP to‘plang.
Kurs bo‘yicha keyingi va bog‘liq mavzular: