Contents

Um guia para CSS Grid: Dominando layouts com propriedades de grade

O posicionamento de elementos numa página Web pode ser muito complicado quando se trabalha com layouts complexos. É aqui que a grelha CSS é útil. É um sistema de layout concebido para simplificar o processo de criação de layouts complexos.

A utilização da grelha CSS oferece uma vantagem única sobre as técnicas de disposição convencionais, permitindo a colocação de elementos em linhas e colunas numa estrutura bidimensional. Esta disposição flexível melhora o processo de design em comparação com alternativas mais restritivas que se limitam a uma única dimensão.

Contentores e itens de grelha

Quando se utiliza a grelha CSS, é possível aplicar as suas propriedades a elementos pai ou filho. Ao definir a propriedade display para "grelha" num elemento pai, este é convertido num contentor de grelha, com quaisquer elementos filhos subsequentes a tornarem-se itens de grelha e a herdarem as propriedades de grelha especificadas.

Eis como é representado:

/pt/images/grid.jpg

Um elemento de grelha tem a capacidade de se transformar num contentor de grelha. Esta configuração é conhecida como uma estrutura de grelha aninhada, em que uma grelha existe dentro de outra. Neste cenário, o contentor de grelha principal é designado como grelha exterior, enquanto o elemento transformado assume o papel de grelha interior.

As grelhas individuais funcionam autonomamente umas em relação às outras; assim, os atributos atribuídos a uma grelha interna não têm qualquer influência na disposição da grelha externa e vice-versa.

Aqui está o seu aspeto:

/pt/images/grid14.jpg

Adquirir uma compreensão profunda da interação entre os contentores da grelha e o seu conteúdo é indispensável quando se tenta construir arranjos bidimensionais coerentes e precisos.

Tenha em atenção que os contentores da grelha têm o seu próprio conjunto de propriedades, enquanto que as propriedades dos itens da grelha são distintas.

Linhas e trilhos da grelha

Antes de nos debruçarmos sobre a utilização da grelha CSS, é imperativo compreender dois conceitos fundamentais:

As linhas de grade representam as linhas horizontais e verticais que criam a estrutura de um layout de grade CSS, definindo os pontos de início e fim das linhas e colunas. À semelhança das extremidades de caixas físicas, estas linhas possuem valores numéricos para uma colocação precisa no sistema de grelha. A ilustração mostra uma linha tracejada vermelha que representa a presença de linhas de grelha.

/pt/images/grid13.jpg Linhas de grelha: São os espaços entre as linhas de grelha que definem as linhas e as colunas.São como os blocos de construção da disposição da grelha. Na imagem acima, a área colorida dentro de cada item representa a faixa da grelha.

Considere que as linhas de grelha e as pistas são análogas às linhas de um papel milimétrico, funcionando como a base de um esquema de grelha. Quando uma linha de grelha horizontal se mistura com uma linha vertical, dá origem a uma célula retangular, que serve de invólucro para posicionar os elementos da grelha.

Propriedades do contentor de grelha CSS

grelha", além disso, existem propriedades CSS adicionais que podem ser utilizadas para obter uma distribuição harmoniosa dos elementos visuais e das suas posições correspondentes na página Web. Algumas delas incluem:

Modelo de grelha

A presente propriedade regula as dimensões das linhas e colunas, que podem ser determinadas em termos de pixéis, percentagens ou fracções. Para além disso, estão disponíveis várias palavras-chave como “auto”, “minmax”, “repeat” para aumentar a versatilidade.

⭐grid-template-rows: Define a altura das linhas.

⭐grid-template-columns: Define a largura das colunas.

Aqui estão alguns exemplos:

Usando Pixels:

 .grid-container {
  display: grid;
  grid-template-columns: 250px 250px 250px;
  grid-template-rows: 250px 250px;
} 

/pt/images/grid1.jpg

Usando Percentagens:

 .grid-container {
  grid-template-columns: 25% 50% 25%;
  grid-template-rows: 50% 50%;
} 

/pt/images/grid2.jpg

Usando fr:

 .grid-container {
  grid-template-columns: 1fr 2fr 1fr;
  grid-template-rows: 1fr 2fr;
}

/pt/images/grid3.jpg

Usando auto e minmax() Palavras-chave:

 .grid-container {
  grid-template-columns: auto minmax(150px, 1fr) auto;
  grid-template-rows: 100px auto;
}

Utilizar repeat() para um dimensionamento consistente:

 .grid-container {
  grid-template-columns: repeat(3, 1fr);
  grid-template-rows: repeat(2, 150px);
}

Colocação automática e áreas de modelo de grelha

A Colocação automática permite um processo automatizado de disposição de itens num sistema de grelha, sem qualquer posicionamento ou organização específicos fornecidos pelo utilizador. Em vez disso, a grelha determina algoritmicamente os posicionamentos ideais com base na ordem em que os itens são listados no código-fonte. Esta funcionalidade pode ser particularmente útil em situações em que vários elementos têm de ser distribuídos uniformemente num layout, permitindo uma utilização eficiente do espaço disponível sem intervenção manual.

As áreas de modelo de grelha servem como estrutura para organizar e estruturar o conteúdo num contentor de grelha, definindo regiões específicas ou “zonas” que são identificadas pelos respectivos nomes. Estas áreas nomeadas funcionam de forma semelhante às etiquetas das salas numa planta de um edifício, permitindo aos designers atribuir posições aos elementos da grelha com base nas suas referências de zona designadas. Ao utilizar este método, os programadores podem criar estruturas de disposição complexas e precisas com maior facilidade e flexibilidade.

 .grid-container {
  grid-template-areas:'header header header header'
    'sidebar main main right'
    'sidebar content content right'
    'footer footer footer footer';
}

A configuração atual apresenta uma matriz com três colunas e quatro linhas.Contém duas linhas que servem de região de conteúdo principal. As regiões designadas abrangem “cabeçalho”, “barra lateral”, “conteúdo” e “rodapé”. Posteriormente, iremos aprofundar os meandros da utilização destas designações de área nos atributos de cada elemento da grelha.

Alinhamento na grelha CSS

Pode utilizar atributos de alinhamento para regular a colocação de elementos da grelha nas respectivas células da grelha. Estas propriedades incluem:

⭐ justify-items : Controla o alinhamento horizontal dos itens dentro de sua célula de grade.

Os valores de interesse são o ponto inicial, o ponto final, a localização central e o grau de extensão associados a este conjunto de dados.

⭐ align-items : Controla o alinhamento vertical dos itens dentro da respectiva célula da grelha.

Os valores de interesse neste contexto são o ponto de partida, o ponto final, a localização central e o grau de elasticidade associado a estes parâmetros.

⭐ justify-content : Alinha toda a grelha dentro do contentor ao longo do eixo horizontal.

Os valores que podem ser utilizados para definir o espaçamento entre as instâncias de um grupo de marcadores incluem “start”, “end”, “center”, “stretch”, “space-between”, “space-around” e “space-evenly”.

⭐ align-content : Alinha toda a grelha dentro do contentor ao longo do eixo vertical.

Os valores disponíveis para controlar o espaçamento dos itens num contentor flex incluem “start”, “end”, “center”, “stretch”, “space-between”, “space-around” e “space-evenly”.

Eis um exemplo:

 .grid-container {
  grid-template-columns: 1fr 1fr;
  justify-items: center;
  align-items: center;
  justify-content: space-between;
  align-content: center;
} 

/pt/images/grid6.jpg

A centralização é conseguida através da distribuição uniforme do espaço entre todas as colunas de toda a grelha, sendo cada item posicionado no centro, tanto horizontal como verticalmente, dentro da respectiva célula. A disposição resultante garante que a grelha assume uma disposição equilibrada, com um espaçamento igual entre elementos adjacentes, mantendo uma orientação vertical alinhada com o eixo vertical do contentor principal.

Espaço da grelha

O espaço da grelha, também conhecido como espaçamento entre células ou espaçamento entre elementos, refere-se à área aberta entre as linhas e colunas de uma disposição em grelha. Este aspeto de design serve para diferenciar visualmente os elementos adjacentes dentro da grelha e proporciona algum espaço de manobra para cada item individual.

A propriedade grid-gap permite a especificação do espaçamento entre elementos da grelha ao longo dos eixos da linha e da coluna, utilizando uma gama de unidades, incluindo pixéis (px), percentagens (%) e unidades em (em).

 .grid-container {
  grid-gap: 20px;
} 

/pt/images/grid7.jpg

O presente exemplo inclui um contentor de grelha com duas colunas espaçadas por uma margem de vinte pixels. Esta disposição serve para demarcar as colunas tanto visualmente como em termos de disposição, aumentando assim a sua distinção.

Propriedades dos itens da grelha CSS

Com certeza! A apresentação descreve várias características críticas que regulam o comportamento de itens individuais numa grelha CSS, acompanhadas de exemplos ilustrativos:

grid-row-start e grid-row-end:

Os índices de linha inicial e final de um determinado elemento são especificados por esta propriedade.

Os valores para span podem incluir números de linha, como “span n”, ou podem ser definidos para se ajustarem automaticamente com base no tamanho do ecrã utilizando a definição “auto”.

 .grid-item-1 {
  grid-row-start: 2;
  grid-row-end: 4;
}

O código dado posiciona o Item 1 da grelha num intervalo de linhas, que se estende desde o alinhamento vertical da segunda linha até à posição correspondente da quarta linha.

/pt/images/grid8.jpg

grid-column-start e grid-column-end:

A função de intervalo é utilizada para definir os números de coluna inicial e final de um determinado item numa tabela ou folha de cálculo. Isto permite-lhe especificar que parte dos dados deve ser incluída quando os referenciar, quer seja para efeitos de visualização ou como parte de um cálculo de fórmula.

Os valores podem assumir várias formas, como números de linha, “span n” ou “auto”.

 .grid-item-2 {
  grid-column-start: 1;
  grid-column-end: 3;
}

O código dado posiciona o Item 2 da grelha de forma a que este se estenda por três colunas, começando na linha inicial da primeira coluna e terminando na linha final da segunda coluna.

/pt/images/grid9.jpg

grid-area:

A propriedade CSS grid-template-areas permite especificar as dimensões e a colocação de um elemento num contentor de grelha, referindo-se a linhas de grelha específicas através dos respectivos nomes.

Com certeza! A utilização de etiquetas de regiões pré-determinadas é atualmente facilitada pela implementação da propriedade grid-template-areas . Uma demonstração da sua integração com a propriedade grid-area pode ser observada da seguinte forma:

 .header {
  grid-area: header;
}
.sidebar {
  grid-area: sidebar;
}
.main {
  grid-area: main;
}
.content {
  grid-area: content;
}
.right {
  grid-area: right;
}
.footer {
  grid-area: footer;
} 

Aqui está o resultado:

/pt/images/grid10.jpg

justify-self:

O alinhamento horizontal de itens individuais numa célula é conseguido alinhando-os ao longo do eixo horizontal.Isto pode ser feito utilizando várias opções de formatação, como o alinhamento do texto ou as definições das propriedades da tabela. O método específico para o conseguir dependerá do contexto e dos requisitos da aplicação específica em que está a ser utilizado.

Os valores no design gráfico abrangem uma série de possibilidades, incluindo a sua localização no início ou na conclusão da trajetória de um elemento, servindo como um ponto central em torno do qual giram outros elementos, ou estendendo-se para além dos limites definidos para criar elasticidade. Estas diferentes posições permitem diversos efeitos visuais que contribuem para a composição global.

 .grid-item-5 {
  justify-self: center;
}

O código dado alinha o quinto item da grelha, Item 5 da grelha, de forma horizontal no centro da respectiva célula no layout da grelha.

/pt/images/grid11.jpg

align-self:

Altera o alinhamento de cada item numa coluna, de modo a que fiquem posicionados verticalmente nas respectivas células.

Os valores podem assumir várias formas, como ser um ponto de partida, um ponto final, uma referência central ou um meio de se estender para além do seu intervalo típico.

 .grid-item-1 {
  align-self: end;
}

Esta parte específica do código orienta e posiciona o “Item 1 da grelha” de modo a que fique no ponto mais baixo da respectiva célula da grelha.

/pt/images/grid12.jpg

É encorajado a exercer controlo criativo sobre a apresentação visual de itens individuais da grelha, utilizando uma combinação de várias propriedades estilísticas, conseguindo assim uma estética que se alinhe com os objectivos de design pretendidos.

Criação de layouts responsivos usando grades CSS

O uso de sistemas de grade CSS é crucial na criação de designs responsivos que se ajustam facilmente a diversas dimensões de exibição e dispositivos, garantindo uma experiência de usuário tranquila em diferentes tamanhos de tela e dispositivos. Existem várias técnicas que podem ser utilizadas para atingir este objetivo de forma eficaz.

A utilização de consultas multimédia em conjunto com o CSS Grid Layout permite uma capacidade de resposta adaptativa com base no tamanho do ecrã. Isto permite aos web designers e programadores modificar dinamicamente a disposição dos elementos da grelha e ajustar as larguras das colunas de acordo com as diferentes dimensões do ecrã, garantindo assim uma experiência de visualização óptima em diversos dispositivos e resoluções.

Utilize medidas flexíveis, como valores percentuais e “fr”, para permitir um dimensionamento reativo dos elementos e colunas da grelha, proporcional ao espaço disponível.

Utilize a função minmax() para estabelecer um intervalo de dimensões para as células da grelha, promovendo a legibilidade e a compatibilidade em várias resoluções de ecrã ao evitar que o conteúdo se torne excessivamente pequeno ou grande.

Modifique o texto fornecido para transmitir a mesma mensagem de uma forma mais refinada. Ao adaptar as dimensões das colunas, o espaçamento entre os elementos da grelha, os tipos de letra e o espaço em branco, é crucial manter a consistência em todo o design para uma visualização óptima em diferentes plataformas.

Explore as possibilidades do layout de grelha CSS

Utilizando a versatilidade e o poder da grelha CSS, é possível criar layouts esteticamente agradáveis e perfeitos que satisfazem tanto o apelo visual como os requisitos em constante evolução do web design contemporâneo. Por isso, mergulhe no reino das grelhas, investigue as suas potencialidades e melhore a sua proficiência no desenvolvimento Web.

Ao explorar várias técnicas de layout, muitas vezes é benéfico contrastar o CSS Grid com abordagens alternativas, como o Flexbox. O módulo CSS Flexbox fornece um meio pelo qual se pode avaliar e determinar a abordagem mais adequada para os seus requisitos de design específicos num determinado projeto.