Type, class, ID, attribute selektorlari va combinatorlar (descendant, child, sibling) — misol, test va amaliy topshiriqlar bilan.
styles.cssCSSp { color: black; } /* Type selector */.card { padding: 16px; } /* Class selector */#header { background: white; } /* ID selector */[type="text"] { border: 1px solid gray; } /* Attribute selector */
styles.cssCSSdiv p { color: red; } /* Descendant: div ichidagi barcha p */div > p { color: blue; } /* Child: div'ning to'g'ridan-to'g'ri farzandi bo'lgan p */h1 + p { margin-top: 0; } /* Adjacent sibling: h1'dan keyin darhol keladigan p */h1 ~ p { color: gray; } /* General sibling: h1'dan keyingi barcha p (aka-uka) */
🧠 Bo'sh joy = descendant (istalgan chuqurlikda), > = to'g'ridan-to'g'ri farzand, + = darhol keyingi aka-uka, ~ = istalgan keyingi aka-uka.
Task: 3 xil selektor turi (type, class, ID) yordamida bitta HTML sahifada turli elementlarni stillang.
Task: ul > li va ul li orasidagi farqni ko'rsatadigan HTML tuzilma yarating (ichma-ich <ul> bilan).
Task: h2 ~ p selektorini ishlatib, sahifadagi har bir <h2>dan keyingi barcha paragraflarni (lekin <h2>dan oldingilarni emas) stillang.
styles.cssCSS.nav li a { color: blue; }
index.htmlHTML<ul class="nav"><li><a href="#">Link 1</a></li><li><div><a href="#">Link 2</a></div></li></ul>
Your Task: Ikkala link ham ko'k bo'ladimi? Nega?
<details> <summary>Solution</summary> Ha, ikkalasi ham ko'k bo'ladi, chunki bo'sh joy (descendant combinator) ORALIQDAGI chuqurlikni cheklamaydi — `.nav li a` `<li>` ichidagi istalgan chuqurlikdagi `<a>`ni tanlaydi, hatto `<div>` orasida bo'lsa ham. </details>CSS selektorlari — type, class, ID, attribute va combinator (descendant, child, sibling) turlariga bo'linadi. Har biri turli darajadagi aniqlik va moslashuvchanlik beradi.
> — faqat bevosita farzand, bo'sh joy — istalgan avlod+ — darhol keyingi sibling, ~ — istalgan keyingi siblingstyles.cssCSStype { }.class { }#id { }[attr=val] { }A B /* descendant */A > B /* child */A + B /* adjacent sibling */A ~ B /* general sibling */
Mavzu bo‘yicha tushunchalaringizni interaktiv test orqali sinovdan o‘tkazing va natijalarni bilib oling.
Darslik ichidagi interaktiv muharrirda berilgan barcha amaliy topshiriqlarni bajaring va avto-tekshiruvdan o‘ting.
Test Sinovi
Hali topshirilmagan (kamida 75% kerak)
Amaliy Laboratoriya
Laboratoriya muharririda testlarni topshiring
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: