Esta página foi traduzida do inglês pela comunidade.Saiba mais e junte-se à comunidade MDN Web Docs.
align-items
Baseline Widely available *
This feature is well established and works across many devices and browser versions. It’s been available across browsers since setembro de 2015.
* Some parts of this feature may have varying levels of support.
A propriedadeCSSalign-items estabelece o valoralign-self em todos filhos diretos como um grupo. A propriedade align-self estabelece o alinhamento de um certo item dentro do bloco que o contém. Em Flexbox ele controla o alinhamento dos itens emCross Axis, enquanto que no Grid Layout, controla o alinhamento dos itens no Eixo de Bloco dentro de suagrid area.
O exemplo interativo abaixo demonstra alguns dos valores paraalign-items usando grid layout.
In this article
Experimente
align-items: stretch;align-items: center;align-items: start;align-items: end;<section> <div> <div> <div>One</div> <div>Two</div> <div>Three</div> </div> </div></section>#example-element { border: 1px solid #c5c5c5; display: grid; width: 200px; grid-template-columns: 1fr 1fr; grid-auto-rows: 80px; grid-gap: 10px;}#example-element > div { background-color: rgba(0, 0, 255, 0.2); border: 3px solid blue;}Sintaxe
/* Palavras-chave básicas */align-items: normal;align-items: stretch;/* Posicionamento do alinhamento *//* align-items não recebe valores left e right */align-items: center; /* Itens posicionados ao redor do centro */align-items: start; /* Posiciona itens a partir do início */align-items: end; /* Posiciona itens a partir do fim */align-items: flex-start; /* Posiciona itens-flex a partir do início */align-items: flex-end; /* Posiciona itens-flex a partir do fim */align-items: self-start;align-items: self-end;/* Alinhamento da baseline */align-items: baseline;align-items: first baseline;align-items: last baseline; /* Overflow alinhamento (apenas para alinhamento de posição) */align-items: safe center;align-items: unsafe center;/* Valores globais */align-items: inherit;align-items: initial;align-items: unset;Valores
normalO efeito desta palavra-chave depende do modo de layout em que nos encontramos:
- Em layouts absolutamente posicionados, a palavra-chave se comporta como
startemreplaced de caixas absolutamente posicionadas, e comostretchemall others de caixas absolutamente posicionadas. - Em posição estática de layouts absolutamente posicionados, a palavra-chave se comporta como
stretch. - Para itens-flex, a palavra chave se comporto como
stretch. - Para itens-grid, esta palavra-chave leva a um comportamento similiar ao
stretch, exceto para caixas com um aspect ratio ou tamanhos intrínsecos, onde se comporta comostart. - A propriedade não se aplica para caixas block-level, e para células de tabela.
- Em layouts absolutamente posicionados, a palavra-chave se comporta como
flex-startAs bordas da margem superior dos itens-flex são juntados com a borda superior da linha.
flex-endAs bordas da margem inferior dos itens flex são juntados com a borda inferior da linha.
centerAs caixas de margem dos itens flex são centralizados ao longo da linha do eixo. Caso o tamanho de um item seja superior ao container flex, irá transbordar de maneira igual em ambas direções.
startOs itens são posicionados, para cada um, em direção a borda início do container de alinhamento no eixo apropriado.
endOs itens são posicionados, para cada um, em direção a borda fim do container de alinhamento no eixo apropriado.
self-startOs itens são posicionados para a borda do container de alinhamento do lado inicial do item, no eixo apropriado.
self-endOs itens são posicionados para a borda do container de alinhamento do lado final do item, no eixo apropriado.
baselinefirst baselinelast baselineTodos itens-flex são alinhados de tal forma que suasbaselines de container flex estejam alinhados. O item com a maior distância entre o eixo de início de sua margem e sua baseline é juntado com eixo de início da linha.
stretchItens-flex são esticados de tal maneira que o tamanho da caixa de margem do item seja o mesmo da linha, respeitando as restrições de comprimento e altura.
safeUsado em conjunto com uma palavra-chave de alinhamento. Se a palavra-chave escolhida signifique que o item transborde o alinhamento do container, causando assim perda de dados, o item é alinhado como estivesse no modo
start.unsafeUsado em conjunto com uma palavra-chave de alinhamento. Independente dos tamanhos relativos do item, do alinhamento do container e caso overflow possa causar perda de dados, o valor de alinhamento estabelecido é mantido.
Sintaxe formal
align-items =
normal|
stretch|
<baseline-position>|
<overflow-position>?<self-position>|
anchor-center
<baseline-position> =
[first|last]?&&
baseline
<overflow-position> =
unsafe|
safe
<self-position> =
center|
start|
end|
self-start|
self-end|
flex-start|
flex-end
Exemplo
>CSS
#container { height: 200px; width: 240px; align-items: center; /* Pode ser mudado na amostra ao vivo */ background-color: #8c8c8c;}.flex { display: flex; flex-wrap: wrap;}.grid { display: grid; grid-template-columns: repeat(auto-fill, 50px);}div > div { box-sizing: border-box; border: 2px solid #8c8c8c; width: 50px; display: flex; align-items: center; justify-content: center;}#item1 { background-color: #8cffa0; min-height: 30px;}#item2 { background-color: #a0c8ff; min-height: 50px;}#item3 { background-color: #ffa08c; min-height: 40px;}#item4 { background-color: #ffff8c; min-height: 60px;}#item5 { background-color: #ff8cff; min-height: 70px;}#item6 { background-color: #8cffff; min-height: 50px; font-size: 30px;}select { font-size: 16px;}.row { margin-top: 10px;}HTML
<div> <div>1</div> <div>2</div> <div>3</div> <div>4</div> <div>5</div> <div>6</div></div><div> <label for="display">display: </label> <select> <option value="flex">flex</option> <option value="grid">grid</option> </select></div><div> <label for="values">align-items: </label> <select> <option value="normal">normal</option> <option value="flex-start">flex-start</option> <option value="flex-end">flex-end</option> <option value="center" selected>center</option> <option value="baseline">baseline</option> <option value="stretch">stretch</option> <option value="start">start</option> <option value="end">end</option> <option value="self-start">self-start</option> <option value="self-end">self-end</option> <option value="left">left</option> <option value="right">right</option> <option value="first baseline">first baseline</option> <option value="last baseline">last baseline</option> <option value="safe center">safe center</option> <option value="unsafe center">unsafe center</option> <option value="safe right">safe right</option> <option value="unsafe right">unsafe right</option> <option value="safe end">safe end</option> <option value="unsafe end">unsafe end</option> <option value="safe self-end">safe self-end</option> <option value="unsafe self-end">unsafe self-end</option> <option value="safe flex-end">safe flex-end</option> <option value="unsafe flex-end">unsafe flex-end</option> </select></div>var values = document.getElementById("values");var display = document.getElementById("display");var container = document.getElementById("container");values.addEventListener("change", function (evt) { container.style.alignItems = evt.target.value;});display.addEventListener("change", function (evt) { container.className = evt.target.value;});Resultado
Especificações
| Specification |
|---|
| CSS Box Alignment Module Level 3> # align-items-property> |
| CSS Flexible Box Layout Module Level 1> # align-items-property> |
Compatibilidade com navegadores
>Support in Flex layout
Veja também
- CSS Flexbox Guide:Basic Concepts of Flexbox
- CSS Flexbox Guide:Aligning items in a flex container
- CSS Grid Guide:Box alignment in CSS Grid layouts
- CSS Box Alignment
- The
align-selfproperty