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 tanto horizontal quanto 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 o centro perfeito usando Flexbox:
.container {
display: flex; /* Transforme o pai em um contêiner flex */
justify-content: center; /* Centralize o filho horizontalmente ao longo do eixo principal */
align-items: center; /* Centralize o filho verticalmente ao longo do eixo transversal */
}Para que essa técnica funcione de maneira 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 de seu conteúdo, e a centralização vertical pode não ser perceptível.
Aqui está um exemplo de como usar esta 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; /* Set a specific height for the container */
border: 1px solid black; /* Optional: Add a border for visualization */
}
.child {
padding: 20px;
border: 1px solid red;
}Neste exemplo, o elemento .container tem uma altura de 300px, e o elemento .child ficará perfeitamente centralizado tanto horizontalmente quanto verticalmente dentro dele.
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 tenha como alvo 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 o filho horizontalmente. - Defina a propriedade
align-itemsdo elemento.parentcomocenterpara centralizar o filho verticalmente. - Dê ao elemento
.parentumaheightde200pxpara 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