Frontend Academy · Aula

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.

Aula 4 de 413 etapas

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.

Grátis para começar

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

  1. A tag meta viewport
  2. Flexbox para layouts
  3. CSS Grid para layouts
  4. Consultas de mídia e desenvolvimento mobile-first
← Voltar para Frontend Academy