Material Design Lite - Grids
A grade Material Design Lite (MDL) é um componente de layout de conteúdo para vários tamanhos de tela. A grade MDL é definida e delimitada por um elemento container / div. Uma grade tem 12 colunas na tela do desktop, 8 na tela do tablet e 4 na tela do telefone, onde cada tamanho tem margens e calhas predefinidas. As células são dispostas de maneira sequencial em uma linha, na ordem em que são definidas, com as seguintes exceções:
Se uma célula de grade não for adequada para a linha em um dos tamanhos de tela, ela fluirá para a linha seguinte.
Se uma célula de grade tiver um tamanho de coluna especificado igual ou maior que o número de colunas para o tamanho da tela, ela ocupará toda a linha.
O MDL fornece várias classes CSS para aplicar vários aprimoramentos visuais e comportamentais predefinidos à grade. A tabela a seguir lista as classes disponíveis e seus efeitos.
Sr. Não. | Nome e descrição da classe |
---|---|
1 | mdl-layout Identifica um contêiner como um componente MDL. Obrigatório no elemento de contêiner externo. |
2 | mdl-grid Identifica um contêiner como um componente de grade MDL. Obrigatório no elemento div "externo". |
3 | mdl-cell Identifica um contêiner como uma célula MDL. Obrigatório em elementos div "internos". |
4 | mdl-grid--no-spacing Atualiza as células da grade para que não haja margem entre elas. Opcional para contêiner de grade. |
5 | mdl-cell--N-col Isso ajuda a colocar o tamanho da coluna da célula em N, N é 1-12 inclusive, o padrão é 4; opcional para elementos div "internos". |
6 | mdl-cell--N-col-desktop Isso ajuda a colocar o tamanho da coluna da célula em N apenas no modo desktop, N é 1-12 inclusive; opcional para elementos div "internos". |
7 | mdl-cell--N-col-tablet Isso ajuda a colocar o tamanho da coluna da célula em N apenas no modo de comprimido, N é 1-8 inclusive; opcional para elementos div "internos". |
8 | mdl-cell--N-col-phone Isso ajuda a colocar o tamanho da coluna da célula em N apenas no modo de telefone, N é 1-4 inclusive; opcional para elementos div "internos". |
9 | mdl-cell--hide-desktop Oculta a célula no modo desktop. Opcional para elementos div "internos". |
10 | mdl-cell--hide-tablet Oculta a célula no modo tablet. Opcional para elementos div "internos". |
11 | mdl-cell--hide-phone Oculta o celular quando está no modo telefone. Opcional para elementos div "internos". |
12 | mdl-cell--stretch Estica a célula verticalmente para preencher o pai, padrão; opcional para elementos div "internos". |
13 | mdl-cell--top Alinha a célula com a parte superior do pai. Opcional para elementos div "internos". |
14 | mdl-cell--middle Alinha a célula ao meio do pai. Opcional para elementos div "internos". |
15 | mdl-cell--bottom Alinha a célula com a parte inferior do pai. Opcional para elementos div "internos". |
Exemplo
O exemplo a seguir o ajudará a entender o uso da classe mdl-grid para fazer o layout de conteúdo em várias telas.
As classes MDL fornecidas abaixo serão usadas neste exemplo.
mdl-layout - Identifica um div como um componente MDL.
mdl-js-layout - Adiciona comportamento MDL básico ao div externo.
mdl-layout--fixed-header - Torna o cabeçalho sempre visível, mesmo em telas pequenas.
mdl-layout__header-row - Identifica o contêiner como uma linha de cabeçalho MDL.
mdl-layout__drawer - Identifica div como gaveta de layout MDL.
mdl-layout-title - Identifica o texto do título do layout.
mdl-navigation - Identifica div como grupo de navegação MDL.
mdl-navigation__link - Identifica a âncora como um link de navegação MDL.
mdl-layout__content - Identifica div como conteúdo de layout MDL.
mdl-grid - Identifica div como um componente de grade MDL.
mdl-cell - Identifica div como célula MDL.
mdl-cell--1-col - Define o tamanho da coluna da célula para 1 célula de 12 células no tamanho da tela da área de trabalho.
mdl-cell--2-col - Define o tamanho da coluna da célula para 2 células de 12 células no tamanho da tela da área de trabalho.
mdl-cell--4-col - Define o tamanho da coluna da célula para 4 células de 12 células no tamanho da tela da área de trabalho.
mdl-cell--6-col - Define o tamanho da coluna da célula para 6 células de 12 células no tamanho da tela da área de trabalho.
mdl-cell--4-col-phone - Define o tamanho da coluna da célula para 4 células em 4 células no tamanho da tela do telefone.
mdl-cell--6-col-tablet - Define o tamanho da coluna da célula para 6 células de 8 células no tamanho da tela do tablet.
mdl-cell--8-col-tablet - Define o tamanho da coluna da célula para 8 células de 8 células no tamanho da tela do tablet.
mdl_grid.htm
<html>
<head>
<link rel = "stylesheet"
href = "https://storage.googleapis.com/code.getmdl.io/1.0.6/material.indigo-pink.min.css">
<script src = "https://storage.googleapis.com/code.getmdl.io/1.0.6/material.min.js">
</script>
<link rel = "stylesheet"
href = "https://fonts.googleapis.com/icon?family=Material+Icons">
<style>
.graybox {
background-color:#ddd;
}
</style>
</head>
<body>
<div class = "mdl-layout mdl-js-layout mdl-layout--fixed-header">
<header class = "mdl-layout__header">
<div class = "mdl-layout__header-row">
<span class = "mdl-layout-title">Material Design Grid</span>
</div>
</header>
<div class = "mdl-layout__drawer">
<span class = "mdl-layout-title">Material Design Tutorial</span>
<nav class = "mdl-navigation">
<a class = "mdl-navigation__link" href = "">Home</a>
<a class = "mdl-navigation__link" href = "">About</a>
</nav>
</div>
<main class = "mdl-layout__content">
<div class = "mdl-grid">
<div class = "mdl-cell mdl-cell--1-col graybox">1</div>
<div class = "mdl-cell mdl-cell--1-col graybox">2</div>
<div class = "mdl-cell mdl-cell--1-col graybox">3</div>
<div class = "mdl-cell mdl-cell--1-col graybox">4</div>
<div class = "mdl-cell mdl-cell--1-col graybox">5</div>
<div class = "mdl-cell mdl-cell--1-col graybox">6</div>
<div class = "mdl-cell mdl-cell--1-col graybox">7</div>
<div class = "mdl-cell mdl-cell--1-col graybox">8</div>
<div class = "mdl-cell mdl-cell--1-col graybox">9</div>
<div class = "mdl-cell mdl-cell--1-col graybox">10</div>
<div class = "mdl-cell mdl-cell--1-col graybox">11</div>
<div class = "mdl-cell mdl-cell--1-col graybox">12</div>
</div>
<div class = "mdl-grid">
<div class = "mdl-cell mdl-cell--4-col graybox">1</div>
<div class = "mdl-cell mdl-cell--4-col graybox">2</div>
<div class = "mdl-cell mdl-cell--4-col graybox">3</div>
</div>
<div class = "mdl-grid">
<div class = "mdl-cell mdl-cell--6-col graybox">6</div>
<div class = "mdl-cell mdl-cell--4-col graybox">4</div>
<div class = "mdl-cell mdl-cell--2-col graybox">2</div>
</div>
<div class = "mdl-grid">
<div class = "mdl-cell mdl-cell--6-col mdl-cell--8-col-tablet graybox">
6 on desktop, 8 on tablet</div>
<div class = "mdl-cell mdl-cell--4-col mdl-cell--6-col-tablet graybox">
4 on desktop, 6 on tablet</div>
<div class = "mdl-cell mdl-cell--2-col mdl-cell--4-col-phone graybox">
2 on desktop, 4 on phone</div>
</div>
</main>
</div>
</body>
</html>
Resultado
Verifique o resultado.