W3docs

Propriedade CSS justify-items

A propriedade CSS justify-items define o alinhamento padrão dos itens de grade ao longo do eixo inline (linha). Veja todos os valores e experimente exemplos ao vivo.

A propriedade CSS justify-items define o alinhamento padrão para todos os itens dentro de um contêiner ao longo do eixo inline (linha) — em um idioma da esquerda para a direita, isso significa a direção horizontal. Ela é definida no contêiner e age como um justify-self padrão para todos os seus filhos ao mesmo tempo. Qualquer item individual ainda pode substituir esse padrão com seu próprio valor justify-self.

Em um CSS Grid, justify-items controla onde cada item fica horizontalmente dentro de sua própria célula da grade — à esquerda, à direita, centralizado ou esticado para preencher a célula. A propriedade complementar align-items faz o mesmo ao longo do eixo de bloco (coluna), e o atalho place-items define ambos em uma única declaração.

Quando usar

Use justify-items sempre que você tiver uma grade e quiser que todas as células compartilhem o mesmo posicionamento horizontal sem precisar escrever justify-self em cada item. Casos típicos:

  • Centralizar conteúdo dentro de cada célula da grade (center).
  • Empurrar as células para a borda inicial ou final (start / end).
  • Permitir que os itens se estiquem para preencher toda a largura da célula (stretch, o padrão da grade).

Nota: justify-items se aplica a contêineres de grade e elementos com posicionamento absoluto. É ignorado no Flexbox — use justify-content para distribuir itens flex ao longo do eixo principal.

Valor Inicialauto
Aplica-se aContêineres de grade e elementos com posicionamento absoluto.
HerdadoNão.
AnimávelNão.
VersãoCSS3
Sintaxe DOMobject.style.justifyItems = "start";

Sintaxe

Valores CSS justify-items

justify-items: auto | normal | start | end | flex-start | flex-end | self-start | self-end | center | left | right | baseline | first-baseline | last-baseline | stretch | safe | unsafe | legacy | initial | inherit;

Exemplo: justify-items com o valor "start"

Exemplo de código CSS justify-items

<!DOCTYPE html>
<html>
  <head>
    <title>Title of the document</title>
    <style>
      #example {
        display: grid;
        grid-template-columns: 1fr;
        grid-template-rows: 1fr 1fr 1fr;
        gap: 5px;
        justify-items: start;
        background-color: #cccccc;
      }
      #example > div {
        padding: 10px;
        font-size: 20px;
        color: white;
        width: 100px;
        height: 50px;
      }
      .one {
        background-color: #1c87c9;
      }
      .two {
        background-color: #8ebf42;
      }
      .three {
        background-color: #666666;
      }
    </style>
  </head>
  <body>
    <h2>Justify-items property example</h2>
    <div id="example">
      <div class="one">1</div>
      <div class="two">2</div>
      <div class="three">3</div>
    </div>
  </body>
</html>

Resultado

CSS justify-items start: três itens de grade alinhados à borda esquerda de cada célula

Com justify-items: start, cada item é puxado para a borda esquerda de sua célula de grade. Mude o valor para center, end ou stretch (abaixo) para ver os itens se moverem dentro das mesmas células.

Exemplo: justify-items com o valor "center"

Exemplo CSS justify-items center

<!DOCTYPE html>
<html>
  <head>
    <title>Title of the document</title>
    <style>
      #example {
        display: grid;
        grid-template-columns: 1fr;
        grid-template-rows: 1fr 1fr 1fr;
        gap: 5px;
        justify-items: center;
        background-color: #cccccc;
      }
      #example > div {
        padding: 10px;
        font-size: 20px;
        color: white;
        width: 100px;
        height: 50px;
      }
      .one {
        background-color: #1c87c9;
      }
      .two {
        background-color: #8ebf42;
      }
      .three {
        background-color: #666666;
      }
    </style>
  </head>
  <body>
    <h2>Justify-items property example</h2>
    <div id="example">
      <div class="one">1</div>
      <div class="two">2</div>
      <div class="three">3</div>
    </div>
  </body>
</html>

Exemplo: justify-items com o valor "first-baseline"

Exemplo da propriedade justify-items com o valor "first-baseline":

<!DOCTYPE html>
<html>
  <head>
    <title>Title of the document</title>
    <style>
      .container {
        display: grid;
        padding-top: 10px;
        height: 250px;
        grid-template-columns: 1fr 1fr 1fr;
        grid-template-rows: auto;
        background: #ccc;
        justify-items: first-baseline;
      }
      .item {
        width: 50%;
        height: 50%;
        text-align: center;
      }
      .item1 {
        background: red;
      }
      .item2 {
        background: blue;
      }
      .item3 {
        background: green;
      }
    </style>
  </head>
  <body>
    <h2>Justify-items property example</h2>
    <div class="container">
      <div class="item1 item">1</div>
      <div class="item2 item">2</div>
      <div class="item3 item">3</div>
    </div>
  </body>
</html>

Exemplo: justify-items com o valor "self-end"

Exemplo da propriedade justify-items com o valor "self-end":

<!DOCTYPE html>
<html>
  <head>
    <title>Title of the document</title>
    <style>
      #example {
        display: grid;
        grid-template-columns: 1fr;
        grid-template-rows: 1fr 1fr 1fr;
        gap: 5px;
        justify-items: self-end;
        background-color: #cccccc;
      }
      #example > div {
        padding: 10px;
        font-size: 20px;
        color: white;
        width: 100px;
        height: 50px;
      }
      .one {
        background-color: #1c87c9;
      }
      .two {
        background-color: #8ebf42;
      }
      .three {
        background-color: #666666;
      }
    </style>
  </head>
  <body>
    <h2>Justify-items property example</h2>
    <div id="example">
      <div class="one">1</div>
      <div class="two">2</div>
      <div class="three">3</div>
    </div>
  </body>
</html>

Valores

ValorDescrição
autoSe a caixa não tem pai ou está posicionada de forma absoluta, o valor auto representa normal.
normalO efeito depende do modo de layout:
Layouts de bloco: comporta-se como start.
Layouts absolutamente posicionados: comporta-se como start para elementos substituídos, e stretch para os demais.
Células de tabela: ignorado.
Flexbox: ignorado.
Layouts de grade: comporta-se como stretch, exceto para itens com proporção de aspecto ou tamanho intrínseco, nos quais se comporta como start.
startTodos os elementos são posicionados juntos na borda inicial (esquerda) do contêiner.
endTodos os elementos são posicionados juntos na borda final (direita) do contêiner.
flex-startOs itens são colocados no início do contêiner.
flex-endOs itens são colocados no final do contêiner.
self-startO item pode se posicionar na borda do contêiner com base em seu próprio lado inicial.
self-endO item pode se posicionar na borda do contêiner com base em seu próprio lado final.
centerOs itens são posicionados próximos uns dos outros em direção ao centro do contêiner.
leftOs itens são colocados próximos uns dos outros em direção ao lado esquerdo do contêiner. Se o eixo da propriedade não for paralelo ao eixo inline, este valor se comporta como end.
rightOs itens são colocados próximos uns dos outros em direção ao lado direito do contêiner. Se o eixo da propriedade não for paralelo ao eixo inline, este valor se comporta como start.
baselineAlinha todos os elementos dentro de um grupo combinando suas linhas de base de alinhamento.
first-baselineAlinha todos os elementos dentro de um grupo combinando suas primeiras linhas de base de alinhamento.
last-baselineAlinha todos os elementos dentro de um grupo combinando suas últimas linhas de base de alinhamento.
stretchEstica o elemento para preencher o contêiner ao longo do eixo inline/principal.
safeSe o tamanho do item ultrapassa o contêiner de alinhamento, o item é alinhado como se o modo de alinhamento fosse start.
unsafeIndependentemente do tamanho do item e do contêiner de alinhamento, o valor de alinhamento é respeitado.
legacyPalavra-chave legada para compatibilidade com versões anteriores. Mapeia para flex-start, flex-end ou center dependendo do modo de layout. Não afeta a herança.
initialFaz a propriedade usar seu valor padrão.
inheritHerda a propriedade de seu elemento pai.

justify-items vs justify-self

Essas duas propriedades parecem semelhantes, mas estão em elementos diferentes:

  • justify-items é definido no contêiner e fornece um alinhamento horizontal padrão para todos os seus itens.
  • justify-self é definido em um item individual e substitui o justify-items do contêiner apenas para aquele item específico.

Portanto, um padrão comum é definir um valor padrão com justify-items na grade e, em seguida, ajustar um ou dois itens especiais com justify-self.

justify-items vs align-items

justify-items e align-items atuam em eixos perpendiculares:

  • justify-itemseixo inline (linha) — posicionamento horizontal em um documento da esquerda para a direita.
  • align-itemseixo de bloco (coluna) — posicionamento vertical.

Para definir ambos ao mesmo tempo, use o atalho place-items: place-items: <align-items> <justify-items>.

Suporte nos navegadores

justify-items é suportado em todos os navegadores modernos (Chrome, Edge, Firefox, Safari e Opera) como parte do módulo CSS Box Alignment. Seu principal caso de uso — alinhamento dentro do CSS Grid — também é amplamente suportado.

Prática

Prática
O que a propriedade CSS 'justify-items' faz?
O que a propriedade CSS 'justify-items' faz?
Was this page helpful?