Brauzerin CSS üslublarını tətbiq etmək üçün hansı elementləri müəyyən etdiyini izah edin.
sobes.tech Süni İntellekt
AI-dan cavab
Brauzer CSS-stil tətbiq ediləcək elementləri CSS seçicilərinə əsaslanan axtarış və uyğunlaşdırma mexanizmlərindən istifadə etməklə müəyyən edir.
Proses aşağıdakı kimi baş verir:
- CSS-nin təhlili: Brauzer CSS fayllarını və HTML-də
<style>bloklarını təhlil edir və daxili stil nümayişi yaradır. - HTML-nin təhlili: Brauzer HTML-i təhlil edir və DOM (Document Object Model) ağacını yaradır.
- Uyğunlaşdırma (Matching): Hər DOM düyünü üçün, brauzer onu CSS qaydaları ilə uyğunlaşdırmağa çalışır. Bu, CSS qaydalarındakı seçicilərin yoxlanması ilə həyata keçirilir. Adətən, brauzer seçicinin daha spesifik hissələrindən daha az spesifik hissələrinə işləyir (sağdan sola). Məsələn,
div article pseçicisi üçün əvvəlcəptapılır, sonra onunarticle-in törəməsi olub-olmadığı yoxlanır, o dadiv-in törəməsi ola bilər. - Tətbiq (Applying): Əgər DOM düyünü bir və ya bir neçə CSS qaydası ilə uyğun gəlirsə, brauzer bu düyünə uyğun stil tətbiq edir. Bir neçə tətbiq olunan qayda olsa, brauzer spesifiklik, bəyanatların ardıcıllığı və irsiyyət qaydalarını istifadə edərək yekun stil dəstini müəyyən edir.
Spesifiklik (Specificity):
Spesifiklik, brauzer tərəfindən CSS seçicisinin çəkisini hesablamaq üçün istifadə olunan alqoritmdir. Daha spesifik seçici, stil tətbiqində daha yüksək prioritetə malikdir. Spesifiklik, seçicidəki ID, sinif/pseudoklass/atribut və element/pseudoelementlərin sayına əsaslanır.
// a = ID sayı
// b = sinif, pseudoklass, atribut sayı
// c = element və pseudoelement sayı
// Inline stillər ən yüksək prioritetə malikdir (1, 0, 0, 0)
// Seçici `*`-nin spesifikliyi (0, 0, 0)
Misal üçün, spesifiklik hesablaması:
p: (0, 0, 1).class: (0, 1, 0)#id: (1, 0, 0)div p: (0, 0, 2)div .class: (0, 1, 1)
Bəyanatların ardıcıllığı:
Əgər iki qayda eyni spesifikliyə malikdirsə, CSS kodunda ən son bəyan edilən qayda tətbiq edilir.
İrsiyyət (Inheritance):
Bəzi CSS xüsusiyyətləri valideyn elementlərdən uşaqlara miras qalır (məsələn, color, font-family). Bir xüsusiyyət üçün elementdə açıq dəyər təyin edilməyibsə, brauzer DOM ağacında yuxarı doğru miras alınmış dəyəri axtarır.
Beləliklə, brauzer seçiciləri uyğunlaşdıraraq, spesifiklik və bəyanatların ardıcıllığını həll edərək, həmçinin irsiyyətə diqqət yetirərək element üçün stilləri müəyyən edir.