:not(), :is(), :where(), :has() va attribute selektorlarining ilg'or shakllari — misol, test va amaliy topshiriqlar bilan.
styles.cssCSSli:not(:last-child) { border-bottom: 1px solid gray; }:is(h1, h2, h3) { font-weight: bold; }:where(.card, .panel) p { margin: 0; }
styles.cssCSS.card:has(img) { padding: 0; } /* Rasmga ega bo'lgan kartalar */a[href^="https"] { color: green; } /* https bilan boshlanuvchi */a[href$=".pdf"] { color: red; } /* .pdf bilan tugovchi */
⚠️ Common Mistake
:has()ni eski brauzerlarda ishlatishga urinish — bu nisbatan yangi CSS xususiyati, brauzer qo'llab-quvvatlashini tekshirish kerak.
Task: :not(:last-child) yordamida ro'yxat elementlariga faqat oxirgisidan tashqari pastki chegara bering.
Task: a[href^="mailto:"] selektori orqali email havolalariga maxsus ikonka (::before bilan) qo'shing.
Task: :has() yordamida faqat checkbox belgilangan (:checked) formalarning ota konteynerini stilga ega qiling (masalan form:has(input:checked)).
styles.cssCSSh1, h2, h3 { color: blue; }h1:hover, h2:hover, h3:hover { color: red; }
Your Task: Bu kodni :is() yordamida qanday qisqartirish mumkin?
:not(), :is(), :where() — bir nechta selektorni birlashtirish yoki istisno qilish uchun. :has() — "parent selector" imkonini beradi. Attribute selektorlar (^=, $=, *=) qisman moslikni tekshiradi.
:is()/:where() kodni DRY (takrorlanmas) qiladi:has() — birinchi marta CSS'da "ota"ni "bola"ga qarab tanlash imkonini beruvchi vositastyles.cssCSS:not(selector):is(sel1, sel2):where(sel1, sel2) /* :is() kabi, lekin 0 specificity */:has(selector)[attr^="val"] /* starts with */[attr$="val"] /* ends with */[attr*="val"] /* contains */
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: