align-self în CSS

Suprascrie alinierea verticală (align-items) a containerului pentru un singur element copil individual.

Sintaxă CSS
align-self: auto;        /* moștenește valoarea align-items de pe părinte */
align-self: flex-start;  /* se aliniază sus */
align-self: center;      /* se centrează vertical */
align-self: flex-end;    /* se aliniază jos */

Ce face align-self

Dacă părintele are align-items: center, dar vrei ca un singur buton din rând să stea lipit de marginea de jos, aplici align-self: flex-end direct pe acel element copil.

Permite derogări precise de la regula generală a containerului fără a sparge structura restului de elemente.

Valori uzuale

Valoare Descriere
auto Implicit: respectă align-items-ul părintelui.
flex-start Se aliniază la începutul axei secundare.
center Se centrează individual.
flex-end Se aliniază la final.
stretch Se întinde pe toată înălțimea.

Exemple

Exemplul 1: Un buton dintr-un card flexibil împins la fundul casetei

align-self permite butonului să se poziționeze diferit față de restul textului.

.card {
  display: flex;
  flex-direction: column;
  height: 350px;
}
.buton-actiune {
  margin-top: auto; /* împinge butonul la bază */
  align-self: flex-start;
}

Efect vizual în browser

Butonul stă așezat frumos la baza cardului, aliniat la marginea stângă.

Greșeli frecvente

  • Aplicarea lui align-self pe containerul părinte; align-self este o proprietate care se aplică exclusiv pe elementul copil (flex item).

Comenzi înrudite

  • align-items: Aliniază elementele de-a lungul axei secundare / transversale (vertical când flex-direction este row).
  • display: flex: Transformă elementul într-un container flexibil; toți copiii direcți devin elemente flex așezate automat în linie.
  • flex (grow, shrink, basis): Scurtătură aplicată pe un element copil flex pentru a controla creșterea (grow), micșorarea (shrink) și mărimea de bază (basis).