Tutorial de CSS

CSS INÍCIO Introdução CSS Sintaxe CSS Seletores CSS CSS Como fazer Comentários CSS Cores CSS Planos de fundo CSS Bordas CSS Margens CSS Preenchimento CSS CSS Altura/Largura Modelo de caixa CSS Esboço CSS Texto CSS Fontes CSS Ícones CSS Links CSS Listas CSS Tabelas CSS Exibição CSS Largura máxima do CSS Posição CSS Índice Z CSS Estouro de CSS CSS flutuante Bloco CSS Inline Alinhamento CSS Combinadores CSS Pseudoclasse CSS Pseudoelemento CSS Opacidade CSS Barra de navegação CSS Listas suspensas de CSS Galeria de imagens CSS Sprites de imagem CSS Seletores de atributos CSS Formulários CSS Contadores CSS Layout do site CSS Unidades CSS Especificidade CSS CSS !importante Funções matemáticas CSS

CSS Avançado

Cantos arredondados CSS Imagens de borda CSS Planos de fundo CSS Cores CSS Palavras-chave de cores CSS Gradientes CSS Sombras CSS Efeitos de texto CSS Fontes da Web CSS Transformações CSS 2D Transformações CSS 3D Transições CSS Animações CSS Dicas de CSS Imagens de estilo CSS Reflexão de imagem CSS Ajuste de objeto CSS posição do objeto CSS Mascaramento CSS Botões CSS Paginação CSS CSS Múltiplas Colunas Interface de usuário CSS Variáveis ​​CSS Dimensionamento da caixa CSS Consultas de mídia CSS Exemplos de CSS MQ CSS Flexbox

Responsivo a CSS

Introdução ao RWD Janela de visualização RWD Visualização de Grade RWD Consultas de mídia RWD Imagens RWD Vídeos RWD Estruturas RWD Modelos RWD

Grade CSS

Introdução à grade Contêiner de Grade Item de grade

CSS SASS

Tutorial SASS

Exemplos de CSS

Modelos CSS Exemplos de CSS teste css Exercícios de CSS Certificado CSS

Referências CSS

Referência CSS Seletores CSS Funções CSS Aural de referência CSS Fontes CSS seguras para a Web CSS Animatable Unidades CSS CSS PX-EM Converter Cores CSS Valores de cores CSS Valores padrão de CSS Suporte ao navegador CSS

Web Design Responsivo - Visualização em Grade


O que é uma visualização em grade?

Muitas páginas da web são baseadas em uma exibição de grade, o que significa que a página é dividida em colunas:


Usar uma visualização em grade é muito útil ao projetar páginas da web. Facilita a colocação de elementos na página.


Uma exibição de grade responsiva geralmente tem 12 colunas e uma largura total de 100%, e diminuirá e expandirá à medida que você redimensionar a janela do navegador.

Exemplo: exibição de grade responsiva



Criando uma exibição de grade responsiva

Vamos começar a construir uma exibição de grade responsiva.

Primeiro, certifique-se de que todos os elementos HTML tenham a box-sizingpropriedade definida como border-box. Isso garante que o preenchimento e a borda sejam incluídos na largura e altura totais dos elementos.

Adicione o seguinte código em seu CSS:

* {
  box-sizing: border-box;
}

Leia mais sobre a box-sizingpropriedade em nosso capítulo CSS Box Sizing .

O exemplo a seguir mostra uma página da Web responsiva simples, com duas colunas:

25%
75%

Exemplo

.menu {
  width: 25%;
  float: left;
}
.main {
  width: 75%;
  float: left;
}

O exemplo acima é bom se a página da web contiver apenas duas colunas.

No entanto, queremos usar uma exibição de grade responsiva com 12 colunas, para ter mais controle sobre a página da web.

Primeiro devemos calcular a porcentagem de uma coluna: 100% / 12 colunas = 8,33%.

Em seguida, criamos uma classe para cada uma das 12 colunas class="col-"e um número definindo quantas colunas a seção deve abranger:

CSS:

.col-1 {width: 8.33%;}
.col-2 {width: 16.66%;}
.col-3 {width: 25%;}
.col-4 {width: 33.33%;}
.col-5 {width: 41.66%;}
.col-6 {width: 50%;}
.col-7 {width: 58.33%;}
.col-8 {width: 66.66%;}
.col-9 {width: 75%;}
.col-10 {width: 83.33%;}
.col-11 {width: 91.66%;}
.col-12 {width: 100%;}

 Todas essas colunas devem estar flutuando para a esquerda e ter um preenchimento de 15px:

CSS:

[class*="col-"] {
  float: left;
  padding: 15px;
  border: 1px solid red;
}

Cada linha deve ser envolvida em um arquivo <div>. O número de colunas dentro de uma linha deve sempre somar 12:

HTML:

<div class="row">
  <div class="col-3">...</div> <!-- 25% -->
  <div class="col-9">...</div> <!-- 75% -->
</div>

As colunas dentro de uma linha estão todas flutuando para a esquerda e, portanto, são retiradas do fluxo da página, e outros elementos serão colocados como se as colunas não existissem. Para evitar isso, adicionaremos um estilo que limpa o fluxo:

CSS:

.row::after {
  content: "";
  clear: both;
  display: table;
}

Também queremos adicionar alguns estilos e cores para torná-lo melhor:

Exemplo

html {
  font-family: "Lucida Sans", sans-serif;
}

.header {
  background-color: #9933cc;
  color: #ffffff;
  padding: 15px;
}

.menu ul {
  list-style-type: none;
  margin: 0;
  padding: 0;
}

.menu li {
  padding: 8px;
  margin-bottom: 7px;
  background-color :#33b5e5;
  color: #ffffff;
  box-shadow: 0 1px 3px rgba(0,0,0,0.12), 0 1px 2px rgba(0,0,0,0.24);
}

.menu li:hover {
  background-color: #0099cc;
}

Observe que a página da Web no exemplo não parece boa quando você redimensiona a janela do navegador para uma largura muito pequena. No próximo capítulo, você aprenderá como corrigir isso.