Sintaxa css

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.







Articole similare

Trimiteți-le prietenilor: