Ordine cascadă
Până acum, am abordat doar cele mai simple cazuri de cascadă.
Sortarea secundară se efectuează în funcție de specificația selectorului: selectorii mai specifici au prioritate față de selectorii generali. Pseudoelementele și pseudo-clasele sunt considerate, respectiv, elementele și clasele obișnuite.
Specificitatea selectorilor
Specificitatea selectorului se calculează după cum urmează.- Numărul de ID-uri din acest selector este contorizat. Valoarea obținută este notată cu litera a.
- Numărul de alte clase și clase pseudo în acest selector este numărate. Valoarea rezultată este notată cu litera b.
- Se numără numărul de nume de elemente din acest selector. Valoarea obținută este notată cu litera c.
- Pseudoelementele sunt ignorate.
Specificitatea selectorului este determinată după calcularea valorilor lui a. b și c prin combinarea lor într-un singur număr prin concatenare (lipire): abc. Numărul rezultat determină specificitatea.
Să luăm în considerare câteva exemple. O regulă simplă cu un selector de elemente va avea o specificitate egală cu una: P - numărul de identificatori este zero (a = 0). De asemenea, nu există clase (b = 0). numărul elementelor din selector este 1 (c = 1). Ca rezultat, specificitatea acestui selector abc = 001 sau pur și simplu 1 (zerouri nesemnificative la început pot fi eliminate).
Cele mai specifice vor fi selectorii cu identificatori mai puțin specifici - selectori de contexte simple. Câteva exemple suplimentare de calcul al specificității selectorilor sunt prezentate în tabel:
Exemple de calcul al specificității selectorului
Ultimul selector din tabel va fi mai specific decât toate cele de mai sus. De asemenea, utilizează pseudo-clasa vizitate. care este considerată ca o clasă.
În HTML, valorile atributului de stil din eticheta de deschidere a elementului sunt, de asemenea, regulile foilor de stil. Aceste reguli nu au selectori, dar pentru a asigura eficiența algoritmului cascadă se presupune că au un selector cu un identificator (specificitate: a = 1, b = 0, c = 0). În plus, se crede că acestea sunt localizate după toate celelalte reguli. Prin urmare, regulile adesea scrise ca valoare a stilului atributului. au prioritate față de ceilalți. Dar, după cum puteți vedea, această regulă nu este întotdeauna adevărată, adică în foaia de stil poate exista o regulă cu un selector mai specific, apoi proprietățile specificate în atributul de stil. vor fi redefinite.
Textul paragrafuluiР>
Sper că ați reușit să vă ocupați de unul dintre momentele cele mai dificile din studiul foilor de stil cascadă. În cele din urmă a devenit clar de ce se numesc cascadă. Următoarea secțiune descrie schema generală pentru procesarea unui document HTML cu o foaie de stil în browsere.