Como centralizar uma DIV com CSS
Uma das tarefas mais comuns ao trabalhar com CSS é centralizar elementos. Veja neste rápido tutorial como fazer isso
Atualizado em
Uma das tarefas mais comuns ao trabalhar com CSS é centralizar uma DIV na página. Neste tutorial, vou explorar algumas maneiras de centralizar uma div horizontal e verticalmente usando CSS.
Centralizar Horizontalmente
Para centralizar uma div horizontalmente, podemos usar a propriedade margin e definir seus valores esquerdo e direito como “auto”. Por exemplo:
div {
width: 200px;
margin: 0 auto;
}
Neste exemplo, definimos a largura da div como 200 pixels e, em seguida, definimos a margem superior e inferior como 0 e a margem esquerda e direita como auto. Isso faz com que a div seja centralizada horizontalmente em seu contêiner.
Centralizar com Flexbox
Outra maneira de centralizar horizontalmente uma div é usando flexbox. Para isso, precisamos definir o contêiner pai como um display: flex e, em seguida, usar a propriedade justify-content com o valor center. Por exemplo:
.container {
display: flex;
justify-content: center;
}
.container div {
width: 200px;
}
Neste exemplo, definimos o contêiner como um display flex e, em seguida, centralizamos a div interna definindo a largura dela em 200 pixels.
Centralizar Verticalmente
Centralizar uma div verticalmente é um pouco mais complicado do que centralizá-la horizontalmente. Vamos explorar algumas maneiras de fazer isso.
Centralizar com Flexbox
Usando flexbox, podemos centralizar uma div verticalmente definindo a propriedade align-items com o valor center. Por exemplo:
.container {
display: flex;
align-items: center;
justify-content: center;
height: 100vh;
}
.container div {
width: 200px;
}
Neste exemplo, definimos a altura do contêiner como 100% da altura da tela (100vh), centralizamos a div horizontalmente usando a propriedade justify-content e, em seguida, centralizamos verticalmente usando a propriedade align-items.
Centralizar com Transform
Outra maneira de centralizar uma div verticalmente é usando a propriedade transform. Podemos definir a div interna como um elemento “absoluto” e, em seguida, usar a propriedade transform com o valor “translateY(-50%)” para centralizá-la verticalmente. Por exemplo:
.container {
position: relative;
height: 100vh;
}
.container div {
position: absolute;
top: 50%;
left: 50%;
transform: translateY(-50%);
width: 200px;
}
Neste exemplo, definimos a div interna como um elemento “absoluto” em relação ao contêiner pai e, em seguida, usamos as propriedades top e left para centralizá-la horizontalmente. Finalmente, usamos a propriedade transform com o valor translateY(-50%)” para centralizá-la verticalmente.