Fundamentos do CSS Responsivo
Design responsivo faz páginas web ficarem bonitas em todos os dispositivos — desde telefones celulares até monitores desktop.
Tag Meta Viewport
Tag obrigatória para design responsivo:
HTML
<meta name="viewport" content="width=device-width, initial-scale=1.0">
Sem esta tag, navegadores mobile renderizam páginas em largura desktop (geralmente 980px) e encolhem para caber — texto se torna ilegível.
Media Queries
Aplicam estilos diferentes em diferentes tamanhos de tela:
Exemplo
HTML
<style>
.box {
background: #3498db;
color: white;
padding: 20px;
text-align: center;
}
/* Mobile: coluna única */
@media (max-width: 576px) {
.box { background: #e74c3c; }
}
/* Tablet: duas colunas */
@media (min-width: 577px) and (max-width: 992px) {
.box { background: #f39c12; }
}
/* Desktop: três colunas */
@media (min-width: 993px) {
.box { background: #2ecc71; }
}
</style>
<div class="box">Caixa responsiva — redimensione o navegador para ver mudança de cor</div>
Unidades Relativas
| Unidade | Referência | Melhor Para |
|---|---|---|
% |
Elemento pai | Larguras de contêiner |
em |
Tamanho da fonte pai | Preenchimento, margens |
rem |
Tamanho da fonte raiz | Tamanhos de fonte |
vw |
Largura do viewport | Elementos de largura total |
vh |
Altura do viewport | Seções de tela cheia |
Exemplo
HTML
<style>
.rem-demo {
font-size: 1.2rem; /* Relativo à raiz */
}
.vw-demo {
width: 80vw; /* 80% da largura do viewport */
}
</style>
<div class="rem-demo">Texto usando unidades rem</div>
<div class="vw-demo">80% da largura do viewport</div>
Abordagem Mobile-First
Projete para mobile primeiro, depois melhore para telas maiores:
CSS
/* Estilos base (mobile) */
.container {
width: 100%;
padding: 10px;
}
/* Tablet */
@media (min-width: 768px) {
.container {
width: 750px;
margin: 0 auto;
}
}
/* Desktop */
@media (min-width: 1200px) {
.container {
width: 1170px;
}
}
Imagens Flexíveis
Torne imagens responsivas:
CSS
img {
max-width: 100%;
height: auto;
}
❓ Perguntas Frequentes
Q O que acontece sem a tag meta viewport?
R Navegadores mobile renderizam em largura desktop (geralmente 980px), depois encolhem para caber na tela do telefone. Texto se torna ilegível, requerendo pinch-zoom. A tag meta viewport é a base do design responsivo.
Q Como escolher breakpoints de media query?
R Escreva estilos mobile primeiro (mobile-first), depois melhore com min-width. Breakpoints comuns: mobile < 576px, tablet 768px, laptop 992px, desktop 1200px. Não se restrinja a esses números — escolha breakpoints baseados em seu conteúdo real.
Q Design responsivo deve usar rem?
R Não necessariamente. `rem` serve para tamanhos de fonte; dimensões de layout usam %, fr, vw/vh. A chave é não usar px fixo para tamanhos de layout. Tamanhos de fonte: rem; contêineres: %; espaçamento: em ou rem.
📖 Resumo
- O núcleo do design responsivo é "adaptação flexível" — use unidades relativas, media queries e imagens flexíveis
- Lembre-se de três passos: adicione meta viewport, use unidades relativas, aplique media queries em breakpoints
- Mobile-first é recomendado — projete para telas menores primeiro, depois melhore
📝 Exercícios
- Crie uma página: três colunas no desktop, duas no tablet, uma no mobile (usando media queries).
- Defina tamanhos de fonte com
rem, depois modifiquefont-sizeraiz em media query para ver escala proporcional. - Crie uma barra de navegação responsiva: horizontal no desktop, oculta (ou hambúrguer) no mobile.
- Defina
max-width: 100%em imagens, redimensione o navegador para ver comportamento responsivo.



