Cel de-al treilea exemplu al tău se referă la înlănțuirea unor selectori simpli prin intermediul combinatorului descendent, care este ca o versiune mai neclară și mai lentă a combinatorului copil. Dacă nu suportați IE6, ar trebui să folosiți mai degrabă combinatorul copil în schimb.

De exemplu, #twitter p vs #twitter>p. Mai întâi, browserul adună toate elementele p, apoi merge un nivel mai sus și verifică dacă acest element a primit id-ul „twitter”. Dacă nu are, browserul se va opri aici dacă ați folosit combinatorul copil. Cu combinatorul descendent, acesta se va deplasa până la nodul rădăcină (dacă nu găsește vreun #twitter pe drum). Deci, falsurile pozitive sunt întotdeauna puțin mai lente cu combinatorul descendent.

Problema mai mare cu combinatorul descendent este neclaritatea sa, care crește posibilitatea de coliziuni. Ca efect secundar, crearea de structuri care pot fi înnodate în mod arbitrar devine mult mai complicată.

.container #twitter p este, de asemenea, prea specific. Chiar vreți ca elementele p din interiorul lui #twitter să arate diferit dacă #twitter nu este în interiorul lui .container?

O altă problemă este că .container este o locație și nu o parte a structurii. Deci, da… acea regulă nu este reutilizabilă.

CSS scalabil = cod reutilizabil = clase. Regulile bazate pe id-uri nu sunt, prin definiție, reutilizabile.

Leave a comment

Adresa ta de email nu va fi publicată.