Align-items, align-content e align-self

Eveliniurko
2 min readFeb 18, 2021

--

Dando continuidade à saga de display-flex, hoje escreverei sobre as propriedades align. Mas antes, é necessário esclarecer dois termos muito importantes e comuns nos artigos e fóruns de discussão quando se trata do display-flex. Quando o termo “transversal” é usado, refere-se à vertical, enquanto “eixo principal” é a horizontal, considerando o padrão do flex-direction como row, quando alterado para column a ideia dos eixos é apenas invertida respectivamente.

Assim, iniciaremos pelo align-items que já foi brevemente tratado no story anterior. Novamente, reitero o que já foi pontuado no último story: align-items é uma propriedade do contêiner. O efeito que este produz é alinhar os itens no eixo principal do contêiner, o centro de cada elemento alinhado ao outro, como:

fonte: https://qastack.com.br/programming/27539262/whats-the-difference-between-align-content-and-align-items#:~:text=align%2Ditems%20pode%20alterar%20a,efeito%20em%20uma%20%C3%BAnica%20linha.

O align-self em contrapartida, é aplicada em flex-items, com os mesmo valores do align-items, faz o alinhamento no eixo principal, a diferença, porém, está no efeito relacionado apenas ao item onde a propriedade foi definida, por exemplo, quando align-self: start é definido, o resultado é o da imagem. As imagens são do site da mozilla (https://developer.mozilla.org/en-US/docs/Web/CSS/align-self) que esclarecem este comportamento:

align-self: center
align-self: start

Por fim, o align-content é outra propriedade de contêiner. Este faz com que a distância entre as linhas sejam influenciadas (considerando flex-direction: row). Então, de forma simples, o que o align-content faz é agir sobre o posicionamento das linhas (distanciado ou aproximando-as) dentro do contêiner se houver espaço para isso, e é claro, se houver mais de uma linha.

Resumidamente, align-content age sobre linhas e colunas completas, enquanto o align-items tem sua influência limitada aos itens dentro de linhas ou colunas. E para lidar com um item específico usa-se o align-self.

--

--

No responses yet