"Como Você Pode Posicionar Itens na Grade Usando a Propriedade `grid-template-areas`?"
A propriedade
grid-template-areas permite que você crie um layout visual de grade usando rótulos nomeados.
Você então atribui os rótulos a itens específicos da grade usando a propriedade grid-area. Então, em outras palavras, esses rótulos nomeados também são chamados de "grid area names".
Aqui está a sintaxe básica da propriedade grid-template-areas:
grid-template-areas:
'header header header'
'left-sidebar main right-sidebar'
'footer footer footer';
Aqui estão os pontos principais a serem destacados da sintaxe básica:
- Valores como
headeremainsão os nomes das áreas da grade. - Cada valor separado por espaço dentro de uma string corresponde a uma coluna.
- Cada string representa uma linha na grade.
grid-area e os rótulos nomeados (ou áreas) como valores para informar ao CSS que um elemento específico pertence àquela área da grade.
A propriedade grid-area conecta o item da grade à região nomeada que você define em grid-template-areas.
Uma maneira popular de demonstrar as capacidades da propriedade grid-template-areas é criando o clássico layout Holy Grail.
Se você não sabe o que é, o layout Holy Grail é um padrão de design web com um cabeçalho, rodapé, duas barras laterais e uma área de conteúdo principal. Ele garante que o conteúdo principal tenha prioridade, enquanto as barras laterais e outras seções se ajustam responsivamente dentro do layout.
Muitas soluções existem para implementar o layout holy grail, mas usar grid-template-areas e a propriedade grid-area é a maneira mais direta de criá-lo.
Aqui está um exemplo para o layout holy grail:
<link rel="stylesheet" href="styles.css">
<div class="grid-container">
<div class="header">
<h2>Header</h2>
</div>
<div class="sidebar-left">
<h2>Left Sidebar</h2>
</div>
<div class="main"><h2>Main Content</h2></div>
<div class="sidebar-right">
<h2>Right Sidebar</h2>
</div>
<div class="footer">
<h2>Footer</h2>
</div>
</div>
.grid-container {
display: grid;
grid-template-areas:
'header header header'
'sidebar-left main sidebar-right'
'footer footer footer';
grid-gap: 10px;
background-color: #2196F3;
padding: 10px;
}
.header {
grid-area: header;
background-color: rgba(255, 255, 255, 0.8);
padding: 20px;
text-align: center;
}
.sidebar-left {
grid-area: sidebar-left;
background-color: rgba(255, 255, 255, 0.8);
padding: 20px;
text-align: center;
}
.main {
grid-area: main;
background-color: rgba(255, 255, 255, 0.8);
padding: 20px;
text-align: center;
}
.sidebar-right {
grid-area: sidebar-right;
background-color: rgba(255, 255, 255, 0.8);
padding: 20px;
text-align: center;
}
.footer {
grid-area: footer;
background-color: rgba(255, 255, 255, 0.8);
padding: 20px;
text-align: center;
}
Observe que as propriedades grid-template-areas e grid-area podem ser usadas independentemente uma da outra.
A propriedade grid-template-areas é usada especificamente para definir um layout visual mapeando áreas nomeadas da grade dentro do contêiner da grade.
Por outro lado, a propriedade grid-area é usada para posicionar itens individuais da grade, seja especificando suas posições de linha e coluna ou referenciando as áreas nomeadas definidas com a propriedade grid-template-areas.Este módulo não possui perguntas. Marque como concluído.