Consultas de mídia e desenvolvimento mobile-first
Escreva pontos de interrupção com consultas de mídia min-width, crie primeiro o layout para dispositivos móveis e aprimore-o progressivamente para telas maiores.
Consultas de mídia e desenvolvimento mobile-first é uma aula grátis de Frontend Academy no CoddyKit. Esta é a aula 4 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de Frontend Academy, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de Frontend Academy inclui 4 aulas no total.
O que são consultas de mídia
As consultas de mídia aplicam regras CSS somente quando determinadas condições são verdadeiras — por exemplo, quando a largura da área de visualização está acima de um limite. Elas são a base do design responsivo, permitindo que uma única folha de estilos se adapte a qualquer tamanho de tela.
Sintaxe básica
Uma consulta de mídia envolve um bloco de CSS em uma regra @media. As regras internas só são aplicadas quando a condição corresponde.
@media (min-width: 768px) {
.container {
max-width: 1200px;
margin: 0 auto;
}
}min-width versus max-width
min-width: aplica estilos quando a área de visualização tem pelo menos esta largura (priorizando dispositivos móveis). max-width: aplica estilos quando a área de visualização tem no máximo esta largura (priorizando computadores). Prefira min-width para o desenvolvimento que prioriza dispositivos móveis.
/* Mobile-first (preferred): */
@media (min-width: 768px) { /* tablets and up */ }
@media (min-width: 1024px) { /* desktops and up */ }
/* Desktop-first: */
@media (max-width: 767px) { /* phones only */ }Abordagem que prioriza dispositivos móveis
Escreva o CSS primeiro para telas pequenas (fora de qualquer consulta de mídia). Em seguida, use consultas de mídia com min-width para adicionar progressivamente complexidade a telas maiores. Isso produz um CSS menor para usuários móveis e um código mais limpo no geral.
.card {
/* Mobile defaults: single column */
padding: 16px;
font-size: 0.9rem;
}
@media (min-width: 768px) {
.card {
/* Tablet enhancement */
padding: 24px;
font-size: 1rem;
}
}Pontos de quebra comuns
Escolha os pontos de quebra com base no seu conteúdo, não em dispositivos específicos. Pontos de partida comuns: 480px (celulares grandes), 768px (tablets), 1024px (computadores pequenos), 1280px (computadores grandes). Evite pontos de quebra direcionados a modelos específicos de dispositivos.
Tipos de mídia
Além da largura da tela, você pode direcionar tipos de mídia: screen para telas e print para impressoras. As consultas de mídia para impressão permitem personalizar a aparência de uma página quando ela é impressa (ocultar a navegação e ajustar as cores).
@media print {
nav, footer, .ads {
display: none;
}
body {
font-size: 12pt;
color: black;
}
}Combinando condições com e
Encadeie condições com and: aplique estilos somente quando ambas forem verdadeiras. Use not e or para uma lógica mais complexa.
@media (min-width: 768px) and (max-width: 1023px) {
/* tablets only */
}
@media (orientation: landscape) and (max-width: 767px) {
/* landscape phones */
}prefers-color-scheme
Responda à preferência do usuário pelo modo escuro do OS. Por padrão, ofereça um tema escuro sem exigir um botão de alternância.
@media (prefers-color-scheme: dark) {
body {
background: #1a202c;
color: #f7fafc;
}
}prefers-reduced-motion
Respeite os usuários que preferem menos movimento (por causa de distúrbios vestibulares ou epilepsia). Desative ou simplifique as animações dentro desta consulta de mídia.
@media (prefers-reduced-motion: reduce) {
*, *::before, *::after {
animation-duration: 0.01ms !important;
transition-duration: 0.01ms !important;
}
}Consultas de contêiner — o futuro
As consultas de contêiner (@container) aplicam estilos com base no tamanho de um contêiner pai, e não na janela de visualização. Elas permitem uma responsividade realmente no nível do componente e estão disponíveis em todos os navegadores modernos desde 2023.
.card-container {
container-type: inline-size;
}
@container (min-width: 400px) {
.card { flex-direction: row; }
}Propriedades lógicas para suporte a RTL
Use propriedades lógicas como margin-inline-start em vez de margin-left para criar layouts que funcionem tanto em idiomas escritos da esquerda para a direita quanto da direita para a esquerda. Prepare seus layouts responsivos para o futuro.
Verificação rápida
Qual abordagem define corretamente a estratégia CSS de prioridade para dispositivos móveis?
Recapitulação: consultas de mídia e prioridade para dispositivos móveis
@media (min-width: N) para aprimoramento progressivo com prioridade para dispositivos móveis. Escreva estilos básicos para dispositivos móveis sem consultas. Adicione complexidade para telas maiores. Use prefers-color-scheme para o modo escuro. Use prefers-reduced-motion para acessibilidade. Use consultas de contêiner para responsividade no nível do componente.
Aprenda HTML com um tutor de IA — grátis
Escreva e execute código real no seu navegador, obtenha ajuda instantânea de um tutor de IA 24/7 e continue de onde parou na web ou no app.
- Cursos
- 41
- Aulas
- 163
Perguntas Frequentes
A aula “Consultas de mídia e desenvolvimento mobile-first” é grátis?
Sim — o texto completo de “Consultas de mídia e desenvolvimento mobile-first” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de Frontend Academy, atualize para CoddyKit PRO. O curso de Frontend Academy inclui 4 aulas no total.
O que vou aprender em “Consultas de mídia e desenvolvimento mobile-first”?
Escreva pontos de interrupção com consultas de mídia min-width, crie primeiro o layout para dispositivos móveis e aprimore-o progressivamente para telas maiores. Você pratica Frontend Academy com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.
Preciso ter experiência prévia para começar Frontend Academy?
Nenhuma experiência prévia é necessária. Frontend Academy no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 4 de 4.
Quanto tempo leva a aula “Consultas de mídia e desenvolvimento mobile-first”?
A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.
Posso escrever e executar código nesta aula de Frontend Academy?
Sim. Cada aula de Frontend Academy inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.
Todas as aulas deste curso
- A tag meta viewport
- Flexbox para layouts
- CSS Grid para layouts
- Consultas de mídia e desenvolvimento mobile-first