O centro perfeito
Parte da seção Estilização com CSS do Journey de HTML da Coddy. Lição 48 de 76.
No CSS, alcançar o “centro perfeito”, centralizando um elemento horizontal e verticalmente dentro de seu elemento pai, é um desafio comum de layout. O Flexbox oferece uma solução elegante e direta para esse problema. Combinando as propriedades justify-content e align-items, você pode centralizar facilmente um elemento filho dentro de seu contêiner flexível, independentemente do tamanho do elemento filho ou do elemento pai.
Veja como obter a centralização perfeita usando Flexbox:
.container {
display: flex; /* Transforme o elemento pai em um contêiner flex */
justify-content: center; /* Centralize o elemento filho horizontalmente ao longo do eixo principal */
align-items: center; /* Centralize o elemento filho verticalmente ao longo do eixo transversal */
}Para que essa técnica funcione de forma eficaz, certifique-se de que o contêiner flex tenha uma altura definida. Se a altura do contêiner não for definida explicitamente, ele terá apenas a altura do próprio conteúdo, e a centralização vertical poderá não ficar evidente.
Aqui está um exemplo de como usar essa técnica em HTML:
<div class="container">
<div class="child">This is centered</div>
</div>.container {
display: flex;
justify-content: center;
align-items: center;
height: 300px; /* Defina uma altura específica para o contêiner */
border: 1px solid black; /* Opcional: adicione uma borda para facilitar a visualização */
}
.child {
padding: 20px;
border: 1px solid red;
}Neste exemplo, o elemento .container tem uma altura de 300px, e o elemento .child ficará perfeitamente centralizado dentro dele, tanto horizontal quanto verticalmente.
Desafio
FácilVocê recebeu um documento HTML com uma divisão pai (<div>) que contém uma divisão filha (<div>). Sua tarefa é usar Flexbox para centralizar perfeitamente a divisão filha dentro da divisão pai. Siga as etapas abaixo:
- Escreva uma regra CSS que selecione o elemento
<div>com a classeparent. - Defina a propriedade
displaydo elemento.parentcomoflexpara transformá-lo em um contêiner flexível. - Defina a propriedade
justify-contentdo elemento.parentcomocenterpara centralizar a divisão filha horizontalmente. - Defina a propriedade
align-itemsdo elemento.parentcomocenterpara centralizar a divisão filha verticalmente. - Defina a
heightdo elemento.parentcomo200pxpara garantir que a centralização vertical fique visível.
Experimente você mesmo
<html>
<head>
<title>The Perfect Center</title>
<style>
/* Write CSS rules here */
</style>
</head>
<body>
<div class="parent">
<div class="child">Center Me</div>
</div>
</body>
</html>Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.
Todas as lições de Estilização com CSS
4Fundamentos de Texto
Cor do TextoFamília da FonteTamanho da FontePeso da FonteAlinhamento do TextoDecoração do TextoDesafio de Revisão nº 1Desafio de Revisão nº 27Modelo de Caixa — Parte 1
O que é o Modelo de Caixa?PreenchimentoMargensBordasLargura e AlturaDesafio de Revisão8Modelo de Caixa — Parte 2
Dimensionamento da CaixaRaio da BordaTransbordamentoSombra da CaixaDesafio de Revisão3Seletores Básicos
Introdução aos SeletoresSeletor de TipoSeletor de ClasseSeletor de IDSeletores de GrupoSeletor UniversalDesafio de Seleção9Flex Box
O que é uma Flex Box?Direção da Flex BoxJustificar conteúdoAlinhar itensO centro perfeitoDesafio da Flex Box12Fundamentos do Design Responsivo
O que é Design Responsivo?Meta tag viewportLayouts fluidosUnidades de viewportFundamentos das Media QueriesImagens flexíveisPratique por conta própria: Playground de Web