Skip to content

Cheat Sheet pentru layout CSS Flexbox

Modelul de layout Flexbox (Flexible Box) oferă un mod mai eficient de a alinia și distribui elementele în interiorul unui container, chiar și atunci când dimensiunea lor este necunoscută sau dinamică.

Container Flex

Set on parent: display: flex; or display: inline-flex;

Proprietate Descriere Valori comune
flex-direction Direcția axei principale row, row-reverse, column, column-reverse
flex-wrap Dacă se trece la rând nou nowrap, wrap, wrap-reverse
flex-flow Scurtătură pentru direcție și wrap row wrap
justify-content Alinierea pe axa principală flex-start, flex-end, center, space-between, space-around
align-items Alinierea pe axa secundară flex-start, flex-end, center, baseline, stretch
align-content Alinierea mai multor rânduri pe axa secundară flex-start, flex-end, center, space-between, stretch

Elemente Flex

Set on children:

Proprietate Descriere Implicit
order Ordinea de afișare (valorile mai mici apar primele) 0
flex-grow Proporția de mărire (când există spațiu) 0
flex-shrink Proporția de micșorare (când spațiul e insuficient) 1
flex-basis Dimensiunea de bază înainte de distribuirea spațiului auto
flex Scurtătură pentru grow, shrink și basis 0 1 auto
align-self Permite unei singure piese să aibă o aliniere diferită auto

Concepte fundamentale

  • Axa Principală (Main Axis): Orizontală implicit, definită de flex-direction.
  • Axa Secundară (Cross Axis): Direcția perpendiculară pe axa principală.

Exemple de scenarii

Centrare pe orizontală și verticală

.container {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 100vh;
}

Distribuire pe lățime egală

.item {
  flex: 1; /* Ocupă uniform spațiul rămas */
}

Aliniere la margini

.navbar {
  display: flex;
  justify-content: space-between;
}