diff options
Diffstat (limited to 'files/pt-br/web/css/align-items/index.html')
-rw-r--r-- | files/pt-br/web/css/align-items/index.html | 286 |
1 files changed, 286 insertions, 0 deletions
diff --git a/files/pt-br/web/css/align-items/index.html b/files/pt-br/web/css/align-items/index.html new file mode 100644 index 0000000000..2d74f7ec77 --- /dev/null +++ b/files/pt-br/web/css/align-items/index.html @@ -0,0 +1,286 @@ +--- +title: align-items +slug: Web/CSS/align-items +tags: + - CSS + - CSS Flexible Boxes + - CSS Propriedade + - Referencia +translation_of: Web/CSS/align-items +--- +<p>A propriedade <a href="/en-US/docs/Web/CSS">CSS</a> <strong><code>align-items</code></strong> estabelece o valor {{cssxref("align-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 em {{glossary("Cross Axis")}}, enquanto que no Grid Layout, controla o alinhamento dos itens no Eixo de Bloco dentro de sua <a href="/en-US/docs/Glossary/Grid_Areas">grid area</a>.</p> + +<p>O exemplo interativo abaixo demonstra alguns dos valores para <code>align-items</code> usando grid layout.</p> + +<div>{{EmbedInteractiveExample("pages/css/align-items.html")}}</div> + + + +<h2 id="Sintaxe">Sintaxe</h2> + +<pre class="brush:css no-line-numbers">/* 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; +</pre> + +<h3 id="Valores">Valores</h3> + +<dl> + <dt><code>normal</code></dt> + <dd>O efeito desta palavra-chave depende do modo de layout em que nos encontramos: + <ul> + <li>Em layouts absolutamente posicionados, a palavra-chave se comporta como <code>start</code> em <em>replaced</em> de caixas absolutamente posicionadas, e como <code>stretch</code> em <em>all others</em> de caixas absolutamente posicionadas.</li> + <li>Em posição estática de layouts absolutamente posicionados, a palavra-chave se comporta como <code>stretch</code>.</li> + <li>Para itens-flex, a palavra chave se comporto como <code>stretch</code>.</li> + <li>Para itens-grid, esta palavra-chave leva a um comportamento similiar ao <code>stretch</code>, exceto para caixas com um aspect ratio ou tamanhos intrínsecos, onde se comporta como <code>start</code>.</li> + <li>A propriedade não se aplica para caixas block-level, e para células de tabela.</li> + </ul> + </dd> + <dt><code>flex-start</code></dt> + <dd>As bordas da margem superior dos itens-flex são juntados com a borda superior da linha.</dd> + <dt><code>flex-end</code></dt> + <dd>As bordas da margem inferior dos itens flex são juntados com a borda inferior da linha.</dd> + <dt><code>center</code></dt> + <dd>As 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.</dd> + <dt><code>start</code></dt> + <dd>Os itens são posicionados, para cada um, em direção a borda início do container de alinhamento no eixo apropriado. </dd> + <dt><code>end</code></dt> + <dd>Os itens são posicionados, para cada um, em direção a borda fim do container de alinhamento no eixo apropriado.</dd> + <dt><code>self-start</code></dt> + <dd>Os itens são posicionados para a borda do container de alinhamento do lado inicial do item, no eixo apropriado.</dd> + <dt><code>self-end</code></dt> + <dd>Os itens são posicionados para a borda do container de alinhamento do lado final do item, no eixo apropriado.</dd> +</dl> + +<dl> + <dt><code>baseline</code></dt> + <dt><code>first baseline</code></dt> + <dt><code>last baseline</code></dt> + <dd>Todos itens-flex são alinhados de tal forma que suas <a href="https://drafts.csswg.org/css-flexbox-1/#flex-baselines" rel="external">baselines de container flex</a> 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.</dd> + <dt><code>stretch</code></dt> + <dd>Itens-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.</dd> + <dt><code>safe</code></dt> + <dd>Usado 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 <code>start</code>.</dd> + <dt><code>unsafe</code></dt> + <dd>Usado 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.</dd> +</dl> + +<h3 id="Sintaxe_formal">Sintaxe formal</h3> + +<pre class="syntaxbox">{{csssyntax}} +</pre> + +<h2 id="Exemplo">Exemplo</h2> + +<h3 id="CSS">CSS</h3> + +<pre class="brush: css; highlight[4]">#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; +}</pre> + +<h3 id="HTML">HTML</h3> + +<pre class="brush: html"><div id="container" class="flex"> + <div id="item1">1</div> + <div id="item2">2</div> + <div id="item3">3</div> + <div id="item4">4</div> + <div id="item5">5</div> + <div id="item6">6</div> +</div> + +<div class="row"> + <label for="display">display: </label> + <select id="display"> + <option value="flex">flex</option> + <option value="grid">grid</option> + </select> +</div> + +<div class="row"> + <label for="values">align-items: </label> + <select id="values"> + <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> +</pre> + +<div class="hidden"> +<h3 id="JavaScript">JavaScript</h3> + +<pre class="brush: js">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; +}); +</pre> +</div> + +<h3 id="Resultado">Resultado</h3> + +<p>{{EmbedLiveSample("Example", "260px", "290px")}}</p> + +<h2 id="Especificações">Especificações</h2> + +<table class="standard-table"> + <thead> + <tr> + <th scope="col">Especificação</th> + <th scope="col">Status</th> + <th scope="col">Comentário</th> + </tr> + </thead> + <tbody> + <tr> + <td>{{SpecName("CSS3 Box Alignment", "#propdef-align-items", "align-items")}}</td> + <td>{{Spec2("CSS3 Box Alignment")}}</td> + <td>Atualização para últimas definições de sintaxe.</td> + </tr> + <tr> + <td>{{SpecName('CSS3 Flexbox', '#propdef-align-items', 'align-items')}}</td> + <td>{{Spec2('CSS3 Flexbox')}}</td> + <td>Definição inicial</td> + </tr> + </tbody> +</table> + +<p>{{cssinfo}}</p> + +<h2 id="Compatibilidade_de_Navegador">Compatibilidade de Navegador</h2> + + + +<h3 id="Support_in_Flex_layout">Support in Flex layout</h3> + +<p>{{Compat("css.properties.align-items.flex_context")}}</p> + +<h3 id="Support_in_Grid_layout">Support in Grid layout</h3> + +<p>{{Compat("css.properties.align-items.grid_context")}}</p> + +<h2 id="Veja_também">Veja também</h2> + +<ul> + <li>CSS Flexbox Guide: <em><a href="/en-US/docs/Web/CSS/CSS_Flexible_Box_Layout/Basic_Concepts_of_Flexbox">Basic Concepts of Flexbox</a></em></li> + <li>CSS Flexbox Guide: <em><a href="/en-US/docs/Web/CSS/CSS_Flexible_Box_Layout/Aligning_Items_in_a_Flex_Container">Aligning items in a flex container</a></em></li> + <li>CSS Grid Guide: <em><a href="/en-US/docs/Web/CSS/CSS_Grid_Layout/Box_Alignment_in_CSS_Grid_Layout">Box alignment in CSS Grid layouts</a></em></li> + <li><a href="/en-US/docs/Web/CSS/CSS_Box_Alignment">CSS Box Alignment</a></li> + <li>The {{cssxref("align-self")}} property</li> +</ul> + +<div>{{CSSRef}}</div> |