Brauzer qanday qilib CSS uslublarini qo'llash uchun elementlarni aniqlashini tushuntiring.
sobes.tech AI
AIdan javob
Brauzer CSS-tyzilarni qo'llash uchun elementlarni CSS-selektorlar asosida qidirish va mos kelish mexanizmlari yordamida aniqlaydi.
Jarayon quyidagicha o'tadi:
- CSS-ni tahlil qilish: Brauzer CSS fayllarini va HTMLdagi
<style>bloklarini tahlil qiladi va ichki stil tasvirini yaratadi. - HTML-ni tahlil qilish: Brauzer HTML-ni tahlil qiladi va DOM (Document Object Model) daraxtini yaratadi.
- Mos kelish (Matching): Har bir DOM tuguni uchun, brauzer uni CSS qoidalari bilan mos kelishga harakat qiladi. Bu CSS qoidalaridagi selektorlarni tekshirish orqali amalga oshiriladi. Odatda, brauzer selektorning yanada aniqroq qismlaridan kamroq aniqroq qismlariga ishlaydi (o'ngdan chapga). Masalan,
div article pselektori uchun avvaloptopiladi, so'ng uarticlening vorisi yoki vorisi emasligini tekshiradi, u hamdivning vorisi bo'lishi mumkin. - Qo'llash (Applying): Agar DOM tuguni bir yoki bir nechta CSS qoidalariga mos kelsa, brauzer bu tugunga mos keladigan uslublarni qo'llaydi. Bir nechta qo'llaniladigan qoidalar bo'lsa, brauzer ularning oxirgi belgilanish tartibi, xususiyatlarning aniqroqligi va meros olishni hisobga olgan holda yakuniy uslub to'plamini aniqlaydi.
Xususiyatlar (Specificity):
Xususiyatlar - bu brauzer CSS selektorining og'irligini hisoblash uchun ishlatadigan algoritm. Ko'proq xususiy selektor, uslublarni qo'llashda ustunlikka ega. Xususiyatlar ID, sinf/pseudoklass/atributlar va element/pseudoelementlar soniga qarab hisoblanadi.
// a = ID soni
// b = sinf, pseudoklasslar, atributlar soni
// c = elementlar, pseudoelementlar soni
// Inline uslublar eng yuqori ustunlikka ega (1, 0, 0, 0)
// `*` selektori xususiyatlari (0, 0, 0)
Xususiyatlarni hisoblash misoli:
p: (0, 0, 1).class: (0, 1, 0)#id: (1, 0, 0)div p: (0, 0, 2)div .class: (0, 1, 1)
E'lonlar tartibi:
Agar ikki qoidaning xususiyligi bir xil bo'lsa, CSS kodida oxirgi e'lon qilingan qoidaga amal qilinadi.
Meros olish (Inheritance):
Ba'zi CSS xususiyatlari ota-ona elementlardan bolalar elementlarga meros o'tadi (masalan, color, font-family). Agar elementda aniq qiymat belgilangan bo'lmasa, brauzer DOM daraxtida yuqoriga qarab meros olingan qiymatni qidiradi.
Shunday qilib, brauzer selektorlarni moslashtirish, xususiylik va e'lonlar tartibini hal qilish, shuningdek, meros olishni hisobga olgan holda element uchun uslublarni aniqlaydi.