container-type e container-name
Defina contêineres de consulta usando container-type e atribua nomes a eles com container-name.
container-type e container-name é uma aula grátis de CSS Academy no CoddyKit. Esta é a aula 1 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.
O que são consultas de contêiner?
As consultas de contêiner permitem que o CSS aplique estilos com base no tamanho de um contêiner pai, em vez da área de visualização. Isso possibilita um design responsivo realmente baseado em componentes, no qual um componente se adapta ao local onde é inserido.
O problema resolvido pelas consultas de contêiner
Com consultas de mídia, um componente de cartão em uma barra lateral de 300px não consegue saber que é pequeno — ele só sabe que a área de visualização é ampla. As consultas de contêiner permitem que o componente reaja ao tamanho do próprio contêiner, não ao da área de visualização global.
container-type
Para consultar um contêiner, primeiro declare-o como contêiner de consulta usando container-type:
<div class="card-wrapper">This wrapper can now be queried for its own width via @container.</div>
Valores de container-type
Valores disponíveis:
inline-size— habilita consultas na dimensão em linha do contêiner, que corresponde à largura na escrita horizontalsize— habilita consultas nas dimensões em linha e em bloco, ou seja, largura e alturanormal— padrão; não habilita consultas de tamanho, mas as consultas de estilo continuam possíveis
container-name
Dê um nome ao contêiner para referenciá-lo nas consultas. Isso é necessário quando existem contêineres aninhados e você deseja consultar um ancestral específico:
<div class="sidebar">Named container: "sidebar"</div>
Atalho container
O atalho container define o nome e o tipo:
<div class="card-grid">Container named "card-grid", type inline-size.</div>
Por que usar contêineres sem nome
Um contêiner sem nome ainda pode ser consultado — a regra @container terá como alvo, por padrão, o ancestral contêiner mais próximo. Os nomes só são necessários quando você deseja ignorar ancestrais até chegar a um específico.
Consideração de desempenho
Todo elemento com container-type recebe sua própria contenção de layout. Isso significa que alterações de tamanho dentro do contêiner não afetam os ancestrais, o que traz um benefício de desempenho. O navegador não precisa recalcular a página inteira quando o contêiner muda.
Relação com a propriedade contain
Definir container-type: inline-size implicitamente define contain: inline-size layout style no elemento. Isso impede que o tamanho do contêiner afete o próprio layout, algo necessário para que as consultas de tamanho funcionem.
Configuração de um exemplo prático
Uma configuração completa de consulta de contêiner:
<div class="article-grid">
<div class="card">Card 1</div>
<div class="card">Card 2</div>
<div class="card">Card 3</div>
</div>
Consultas de contêiner versus consultas de mídia
Use contêineres para: adaptação no nível do componente, componentes reutilizáveis em diferentes contextos de layout e cartões ou widgets em locais desconhecidos. Use consultas de mídia para: alterações no layout global, dimensionamento da tipografia e exibição ou ocultação de seções grandes.
Verificação rápida
Qual valor de propriedade torna um elemento consultável pela largura usando regras @container?
Recapitulação
container-type: inline-size define um elemento como contêiner de consulta para sua largura. Use container-name para nomear contêineres e direcioná-los seletivamente. O atalho container define ambos. As consultas de contêiner resolvem o problema de componentes inseridos em contextos desconhecidos, que as consultas de mídia da área de visualização não conseguem resolver.
Perguntas Frequentes
A aula “container-type e container-name” é grátis?
Sim — o texto completo de “container-type e container-name” é 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 “container-type e container-name”?
Defina contêineres de consulta usando container-type e atribua nomes a eles com container-name. 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 1 de 4.
Quanto tempo leva a aula “container-type e container-name”?
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
- container-type e container-name
- Regras e pontos de interrupção @container
- Unidades de consulta de contêiner: cqw cqh
- Consultas de contêiner versus consultas de mídia