0Pricing
CSS Academy · Aula

Consultas de contêiner versus consultas de mídia

Entenda quando usar consultas de contêiner em vez de consultas de mídia da área de visualização em um design baseado em componentes.

Consultas de contêiner versus consultas de mídia é uma aula grátis de CSS 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 CSS Academy, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de CSS Academy inclui 4 aulas no total.

A Diferença Fundamental

As consultas de mídia respondem às dimensões da janela de visualização. As consultas de contêiner respondem às dimensões do contêiner pai. Essa distinção determina qual ferramenta usar para cada problema.

Quando Usar Consultas de Mídia

Use consultas de mídia para:

  • Mudanças globais no layout da página (uma ou duas colunas)
  • Exibir ou ocultar grandes seções da página (gaveta de navegação em dispositivos móveis)
  • Dimensionar a tipografia básica no nível da página
  • Estilos de impressão
  • Consultas de preferências do usuário (modo escuro, movimento reduzido)

Quando Usar Consultas de Contêiner

Use consultas de contêiner para:

  • Mudanças de layout no nível do componente (cartão horizontal ou vertical)
  • Componentes colocados em contêineres desconhecidos (barra lateral, área principal, barra lateral dentro da área principal)
  • Componentes reutilizáveis de um sistema de design
  • Elementos incorporados em páginas de terceiros

O Argumento da Portabilidade

Um cartão estilizado com consultas de mídia funciona em um ponto de quebra de uma página com 1200px de largura. Se esse cartão for movido para uma barra lateral, talvez precise de pontos de quebra diferentes. Com consultas de contêiner, o mesmo cartão simplesmente funciona: ele se adapta ao espaço disponível.

Uso Combinado

Aplicações reais usam ambos. As consultas de mídia definem o layout geral (a barra lateral existe em larguras de desktop); as consultas de contêiner definem o comportamento dos componentes dentro desse layout.

<div class="layout">
  <div class="sidebar"><div class="card">Sidebar card</div></div>
  <div class="main-content"><div class="card">Main card</div></div>
</div>

Especificidade das Consultas de Contêiner

Ao contrário das consultas de mídia, que não adicionam especificidade, as consultas de contêiner adicionam especificidade contextual. Uma regra dentro de @container (min-width: 400px) tem a mesma especificidade que a mesma regra fora dele, mas só se aplica dentro desse contexto de contêiner.

Compatibilidade com Navegadores

As consultas de contêiner são compatíveis com todos os navegadores modernos desde 2023 (Chrome 105+, Firefox 110+, Safari 16+). Hoje, elas podem ser usadas com segurança em projetos novos, sem alternativas para navegadores modernos.

Aprimoramento Progressivo com @supports

Para projetos que exigem suporte a navegadores mais antigos, use @supports para testar o suporte a consultas de contêiner:

<div class="card-wrapper"><div class="card">Progressively enhanced card</div></div>

Comparação de Desempenho

As consultas de contêiner têm características próprias de desempenho: cada elemento com tipo de contêiner cria um limite de contenção de layout. Isso impede que mudanças de tamanho internas afetem o exterior, o que na verdade traz um benefício de desempenho. Mudanças nas consultas de mídia podem disparar recálculos globais de layout.

Depuração de Consultas de Contêiner

O Chrome DevTools exibe um selo "cq" ao lado dos elementos contêiner no painel Elementos. Clique nele para visualizar os limites do contêiner e testar as condições das consultas de contêiner com o inspetor de layout do DevTools.

Verificação Rápida

Um componente de cartão de um sistema de design precisa alternar de um layout empilhado para um layout lado a lado, dependendo da largura disponível em qualquer contexto. Qual abordagem é melhor?

Recapitulação

As consultas de mídia respondem à janela de visualização global; as consultas de contêiner respondem ao tamanho de um contêiner pai. Use consultas de mídia para decisões de layout global e consultas de preferências do usuário. Use consultas de contêiner para componentes reutilizáveis que precisam se adaptar ao contexto. Combine ambas: consultas de mídia para o layout geral da página e consultas de contêiner para a adaptação dos componentes dentro desse layout.

Perguntas Frequentes

A aula “Consultas de contêiner versus consultas de mídia” é grátis?

Sim — o texto completo de “Consultas de contêiner versus consultas de mídia” é 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 CSS Academy, atualize para CoddyKit PRO. O curso de CSS Academy inclui 4 aulas no total.

O que vou aprender em “Consultas de contêiner versus consultas de mídia”?

Entenda quando usar consultas de contêiner em vez de consultas de mídia da área de visualização em um design baseado em componentes. Você pratica CSS 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 CSS Academy?

Nenhuma experiência prévia é necessária. CSS 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 contêiner versus consultas de mídia”?

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 CSS Academy?

Sim. Cada aula de CSS 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. container-type e container-name
  2. Regras e pontos de interrupção @container
  3. Unidades de consulta de contêiner: cqw cqh
  4. Consultas de contêiner versus consultas de mídia
← Voltar para CSS Academy