Aula de Desenvolvimento Web · CSS

Media Queries: um layout para cada tela

Sem complicação: esta página mostra, ao vivo, como o CSS muda o desenho da tela conforme o aparelho — e o que acontece quando esse CSS deixa de ser aplicado.

Toque no botão flutuante no canto da tela para desligar o CSS responsivo e ver na hora a diferença entre um layout adaptado ao celular e um layout desktop “espremido” na tela pequena.

01 · Conceito

O que é @media?

Uma media query é um bloco de estilos condicional no CSS: ele só é aplicado quando a condição do dispositivo é verdadeira. A forma mais comum é comparar a largura da janela com um valor, como em max-width: 768px — ou seja, “aplique apenas em telas de até 768 pixels de largura”.

Assim o navegador “pergunta” o tamanho da tela e entrega o layout adequado: grids viram coluna única, fontes e margens diminuem, o menu se reorganiza e os alvos de toque ficam maiores.

Analogia: o @media é o “SE… ENTÃO” do CSS. SE a tela tiver até 768px de largura, ENTÃO aplique os estilos de dentro das chaves. Fora dessa condição o navegador nem lê aquele bloco — é como levar guarda-chuva só quando está chovendo.

  • max-width: 768px “No máximo 768px” → vale do zero até 768px: celulares e tablets em pé.
  • min-width: 769px “No mínimo 769px” → vale daqui para cima: notebooks e monitores.
  • orientation / pointer Outras perguntas: a tela está deitada ou em pé? O dedo está tocando ou é mouse?

Nesta página, o layout base (desktop) foi construído FORA das media queries — ou seja, ele vale sempre. As adaptações para celular ficam dentro de blocos @media que só são considerados enquanto o <body> tem a classe .responsive-active. Pense nessa classe como um interruptor de luz: o botão da tela liga (adiciona a classe) e desliga (remove a classe).

02 · Glossário

Os termos, em português claro

Um dicionário para a turma inteira acompanhar: cada palavra técnica com uma explicação simples e uma analogia do dia a dia.

03 · Conteúdo

Grid de cards

Quatro caixas lado a lado no desktop. No celular, o CSS responsivo empilha as caixas em uma coluna só. Com o responsivo desligado, o navegador continua tentando enfiar 4 colunas numa tela de celular — e é aí que a página “quebra”.

Performance

Página leve: código enxuto e imagens otimizadas, para abrir rápido mesmo em rede 3G.

Carregamento rápido

Design System

Um combinado de cores, espaçamentos e fontes, reaproveitado em todos os blocos da tela.

Padronização

Mobile First

Pense primeiro no celular e acrescente colunas aos poucos, usando min-width.

Estratégia

Acessibilidade

Texto com bom contraste, foco visível no teclado e botões grandes para o dedo (mín. 44px).

Para todas as pessoas
04 · Prática

4 passos para ver a quebra

Faça junto com a turma — dá menos de um minuto.

  1. 01

    Abra pelo celular

    Peça para alguém abrir este endereço no navegador do celular. O layout já nasce em coluna única.

  2. 02

    Toque no botão

    Ele tira a classe .responsive-active do <body> — é como apagar o interruptor do CSS responsivo.

  3. 03

    Veja o que acontece

    O navegador continua recebendo o CSS de desktop: 4 colunas e fontes grandes numa tela estreita. O conteúdo transborda e surge rolagem lateral.

  4. 04

    Toque de novo

    A classe volta para o <body>, as media queries voltam a valer e o layout se reorganiza sozinho.