Treci la conținutul principal

Elemente Flex CSS

Orice element plasat direct într-un container flex devine element flex, fără altă intervenție.

Acestea sunt proprietățile disponibile pentru elementele flex:

  • order — stabilește locul în care apare un element în ordinea de afișare din container
  • flex-grow — stabilește cât de mult se extinde un element față de elementele vecine
  • flex-shrink — stabilește cât de mult se micșorează un element față de elementele vecine
  • flex-basis — îi dă unui element lungimea de la care pornește
  • flex — combină flex-grow, flex-shrink și flex-basis într-o singură formă prescurtată
  • align-self — aliniază un anumit element din interiorul containerului

Proprietatea CSS order

Ordinea din cod și ordinea vizuală pot fi diferite: elementul flex care apare primul în cod nu trebuie să apară neapărat primul în aspect. În interiorul containerului flex, order decide succesiunea.

Trebuie să primească un număr, iar acest număr este implicit 0.

Exemplu

Fiecare element de mai jos are o valoare order care îi stabilește locul în aspect:

Prompt
Creați un container flex cu patru elemente etichetate de la 1 la 4. Utilizați proprietatea CSS order pentru a le afișa în ordinea: 4, 2, 1, 3 (elementul 1 are order 3, elementul 2 are order 2, elementul 3 are order 4, elementul 4 are order 1).
Rezultat: pagină HTML completă

Proprietatea CSS flex-grow

Numărul dat proprietății flex-grow spune cât de mult se extinde un element față de elementele vecine.

Aici este valid doar un număr, iar valoarea implicită este 0.

Exemplu

Aici, al treilea element crește de patru ori mai repede decât cele două elemente vecine:

Prompt
Creați un container flex cu trei elemente. Dați elementelor 1 și 2 un flex-grow de 1, iar elementului 3 un flex-grow de 4, astfel încât acesta să crească de patru ori mai repede decât celelalte.
Rezultat: pagină HTML completă

Proprietatea CSS flex-shrink

Numărul dat proprietății flex-shrink spune cât de mult se micșorează un element față de elementele vecine.

Din nou este valid doar un număr, dar de data aceasta valoarea implicită este 1.

Exemplu

Aici, al treilea element se micșorează de două ori mai mult decât toate celelalte:

Prompt
Creați un container flex cu șase elemente etichetate de la 1 la 6. Setați lățimea fiecărui element la 100px. Dați celui de-al treilea element o valoare flex-shrink de 2, astfel încât să se micșoreze de două ori mai mult decât celelalte.
Rezultat: pagină HTML completă

Proprietatea CSS flex-basis

Lungimea inițială a unui element vine de la flex-basis.

Exemplu

Aici, al treilea element pornește de la o lungime de 250 de pixeli:

Prompt
Creați un container flex cu patru elemente. Setați al treilea element să aibă un flex-basis de 250px, oferindu-i o lungime inițială mai mare decât celelalte elemente.
Rezultat: pagină HTML completă

Proprietatea CSS flex

În loc de trei declarații separate pentru flex-grow, flex-shrink și flex-basis, poți scrie o singură formă prescurtată, flex.

Exemplu

Aici, al treilea element poate crește (1), nu se poate micșora (0) și pornește de la o lungime de 150 de pixeli:

Prompt
Creați un container flex cu patru elemente. Utilizați proprietatea prescurtată flex pe al treilea element cu valorile 1 0 150px (poate crește, nu se poate micșora, lungime inițială 150px).
Rezultat: pagină HTML completă

Proprietatea CSS align-self

Proprietatea align-items a containerului stabilește o aliniere implicită. Pentru un anumit element din interiorul containerului flex, align-self suprascrie această valoare implicită.

Align-self center

Aici, al treilea element stă la mijlocul containerului:

Prompt
Creați un container flex cu o înălțime de 200px și patru elemente. Utilizați align-self pentru a centra al treilea element pe verticală, la mijlocul containerului.
Rezultat: pagină HTML completă

Align-self flex-start și flex-end

Aici, al doilea element se mută în partea de sus a containerului, iar al treilea în partea de jos:

Prompt
Creați un container flex cu o înălțime de 200px și patru elemente. Utilizați align-self pentru a alinia al doilea element la flex-start (sus) și al treilea element la flex-end (jos).
Rezultat: pagină HTML completă

Proprietățile elementelor Flex CSS

Toate proprietățile elementelor flex, în ordine alfabetică:

  • align-self — aliniază un element flex, suprascriind proprietatea align-items a containerului său flex
  • flex — formă prescurtată care acoperă flex-grow, flex-shrink și flex-basis
  • flex-basis — îi dă unui element flex lungimea inițială
  • flex-grow — stabilește cât de mult se extinde un element flex față de celelalte
  • flex-shrink — stabilește cât de mult se micșorează un element flex față de celelalte
  • order — stabilește locul în care apar elementele flex în succesiunea din container