• Anterior
  • Prezentare generala: primii pasi
  • Urmatorul

Am invatat elementele de baza ale CSS, la ce serveste si cum sa scriem foi de stil simple. In aceasta lectie vom arunca o privire asupra modului in care un browser ia CSS si HTML si le transforma intr-o pagina web.

Cum functioneaza de fapt CSS?

Cand un browser afiseaza un document, acesta trebuie sa combine continutul documentului cu informatiile despre stil. Acesta proceseaza documentul in mai multe etape, pe care le-am enumerat mai jos. Retineti ca aceasta este o versiune foarte simplificata a ceea ce se intampla atunci cand un browser incarca o pagina web si ca diferite browsere vor gestiona procesul in moduri diferite. Dar asta se intampla aproximativ.

  1. Browserul incarca codul HTML (de exemplu, il primeste din retea).
  2. Converteste codul HTML intr-un DOM ( Document Object Model ). DOM reprezinta documentul din memoria computerului. DOM-ul este explicat putin mai detaliat in sectiunea urmatoare.
  3. Browserul prelueaza apoi majoritatea resurselor la care este legat documentul HTML, cum ar fi imagini si videoclipuri incorporate … si CSS conectat! JavaScript este tratat putin mai tarziu in proces si nu vom vorbi despre el aici pentru a simplifica lucrurile.
  4. Browserul analizeaza CSS-ul preluat si sorteaza diferitele reguli in functie de tipurile lor de selector in diferite „bucle”, de exemplu, element, clasa, ID si asa mai departe. Pe baza selectorilor pe care ii gaseste, se determina regulile care trebuie aplicate la care noduri din DOM si le ataseaza stilul dupa cum este necesar (acest pas intermediar se numeste arbore de redare).
  5. Arborele de redare este asezat in structura in care ar trebui sa apara dupa ce regulile i-au fost aplicate.
  6. Afisarea vizuala a paginii este afisata pe ecran (aceasta etapa se numeste pictura).

Urmatoarea diagrama ofera, de asemenea, o vedere simpla a procesului.

Despre DOM

Un DOM are o structura asemanatoare copacului. Fiecare element, atribut si bucata de text in limbajul de marcare devine un nod DOM in structura arborelui. Nodurile sunt definite de relatia lor cu alte noduri DOM.

follando con mi amante porno gratis anal
follando en el campo me follo a mi madrastra
comic porno en español rusas desnudas
me follo a mi tia maduras en grupo
porno peludas orgias rusas
corridas en la garganta videos actrices españolas desnudas
gitanas follando chicas corriendose a chorros
como folla mi mujer sobar tetas
brutal tops follando en tenerife
sexo español gratis tetas en publico
descargar pelis pornos porno español años 70
milf camara oculta pollas corriendose
hentai en castellano videos x incesto
bbw abuelas mi mujer follando
travestis jovencitas abuelas ardientes
incestos lesbicos transexual española follando
muy jovencitas porno mamadas por dinero
tetonas delgadas maria patiño desnuda
follando en tenerife milfs españolas
folladas en el metro mamada a caballo

Unele elemente sunt parintii nodurilor copilului, iar nodurile copilului au frati.

Intelegerea DOM va ajuta sa proiectati, sa depanati si sa va intretineti CSS, deoarece DOM este locul in care CSS si continutul documentului se intalnesc. Cand incepeti sa lucrati cu browserul DevTools, veti naviga in DOM pe masura ce selectati elemente pentru a vedea ce reguli se aplica.

O adevarata reprezentare DOM

Mai degraba decat o explicatie lunga si plictisitoare, sa ne uitam la un exemplu pentru a vedea cum un fragment HTML real este convertit intr-un DOM.

Luati urmatorul cod HTML:

<p> Sa folosim: <span> in cascada </span> <span> Stil </span> <span> Foi </span> </p>

In DOM, nodul corespunzator elementului nostru <p> este un parinte. Copiii sai sunt un nod text si cele trei noduri corespunzatoare elementelor noastre <span>. Nodurile SPAN sunt, de asemenea, parinti, cu noduri text ca copii:

P ├─ “Sa folosim:” ├─ SPAN | └─ „Cascada” ├─ SPAN | └─ „Stil” └─ SPAN └─ „Foi”

Acesta este modul in care un browser interpreteaza fragmentul HTML anterior – reda arborele DOM de mai sus si apoi il afiseaza in browser astfel:

Aplicarea CSS la DOM

Sa presupunem ca am adaugat cateva CSS in documentul nostru, pentru a-l stiliza. Din nou, HTML este dupa cum urmeaza:

<p> Sa folosim: <span> in cascada </span> <span> Stil </span> <span> Foi </span> </p>

Sa presupunem ca ii aplicam urmatoarele CSS:

span {border: 1px negru solid; culoare de fundal: var; }

Browserul va analiza HTML si va crea un DOM din acesta, apoi va analiza CSS. Deoarece singura regula disponibila in CSS are un selector de span, browserul va putea sorta CSS foarte repede! Va aplica acea regula fiecaruia dintre cele trei <span> s, apoi va picta reprezentarea vizuala finala pe ecran.

Iesirea actualizata este dupa cum urmeaza:

In articolul nostru de depanare CSS din modulul urmator vom folosi browserul DevTools pentru depanarea problemelor CSS si vom afla mai multe despre modul in care browserul interpreteaza CSS.

Ce se intampla daca un browser intalneste CSS pe care nu il intelege?

Intr-o lectie anterioara am mentionat ca browserele nu implementeaza toate CSS noi in acelasi timp. In plus, multi oameni nu folosesc cea mai recenta versiune a unui browser. Avand in vedere ca CSS este dezvoltat tot timpul si, prin urmare, este inaintea a ceea ce browserele pot recunoaste, s-ar putea sa va intrebati ce se intampla daca un browser intalneste un selector CSS sau o declaratie pe care nu o recunoaste.

Raspunsul este ca nu face nimic si trece la urmatorul bit CSS!

Daca un browser analizeaza regulile dvs. si intalneste o proprietate sau o valoare pe care nu o intelege, il ignora si trece la urmatoarea declaratie. Acesta va face acest lucru daca ati facut o eroare si ati scris gresit o proprietate sau o valoare sau daca proprietatea sau valoarea sunt prea noi si browserul nu o accepta inca.

In mod similar, daca un browser intalneste un selector pe care nu il intelege, va ignora intreaga regula si va trece la urmatoarea.

In exemplul de mai jos, am folosit ortografia engleza britanica pentru culoare, ceea ce face ca aceasta proprietate sa fie invalida, deoarece nu este recunoscuta. Deci, paragraful meu nu a fost colorat in albastru. Cu toate acestea, toate celelalte CSS au fost aplicate; numai linia invalida este ignorata.

<p> Vreau ca acest text sa fie mare, aldin si albastru. </p> p {font-weight: bold; culoare: albastru; / * ortografie incorecta a proprietatii culorii * / font-size: 200%; }

Acest comportament este foarte util. Inseamna ca puteti utiliza CSS nou ca accesoriu, stiind ca nu va aparea nicio eroare daca nu este inteleasa – browserul va primi fie noua caracteristica, fie nu. Impreuna cu modul in care functioneaza cascada si faptul ca browserele vor utiliza ultimul CSS pe care il intalnesc intr-o foaie de stil atunci cand aveti doua reguli cu aceeasi specificitate, puteti oferi si alternative pentru browserele care nu accepta CSS noi.

Acest lucru functioneaza deosebit de bine atunci cand doriti sa utilizati o valoare care este destul de noua si nu este acceptata peste tot. De exemplu, unele browsere mai vechi nu accepta calc () ca valoare. S-ar putea sa dau o latime de rezerva pentru o caseta in pixeli, apoi sa dau o latime cu o valoare calc () de 100% – 50px. Browserele vechi vor folosi versiunea pixel, ignorand linia despre calc () deoarece nu o inteleg. Noile browsere vor interpreta linia folosind pixeli, dar apoi o vor suprascrie cu linia folosind calc () deoarece acea linie apare mai tarziu in cascada.

.box {width: 500px; latime: calc (100% – 50px); }

Vom analiza mai multe modalitati de a sprijini diferite browsere in lectiile ulterioare.

Si, in sfarsit

In acest modul