CSS HTML

Como centralizar horizontalmente uma div dentro de outra?

30 de maio de 2020

Como centralizar horizontalmente uma div dentro de outra?

Neste artigo você vai aprender de uma vez por todas como centralizar horizontalmente uma div dentro de outra na sua página HTML com CSS

como centralizar uma div dentro de outra html capa

Fala programador(a), tudo bem? Bora aprender mais sobre HTML e CSS!

Podemos centralizar uma div dentro de outra de diversas maneiras

O que determinará qual você vai escolher é o seu projeto

Então vamos ver cada uma delas com exemplos práticos

Margin auto

Esta é a forma mais fácil de centralizar uma div, quando você adicionar uma largura a div filha ela automaticamente vai para a esquerda

Adicionando margens com valor de automático você centraliza ela no container principal, veja:

<div class="container">
  <div class="child"></div>
</div>

Agora o CSS:

.container {
  background-color: blue;
  width: 100%;
  height: 200px;
}

.child {
  background-color: red;
  width: 50px;
  height: 50px;
  margin: auto;
}

E o resultado final:

div central ex 1

Com position absolute

A ideia aqui é centralizar por position com valor de absolute, para isso o pai deve ter uma posição relative, pois será onde a div filha vai se basear para centralizar

Vamos ver na prática o CSS, pois o HTML pode ser o mesmo:

.container {
  background-color: blue;
  width: 100%;
  height: 200px;
  position: relative;
}

.child {
  background-color: red;
  width: 50px;
  height: 50px;
  position: absolute;
  left: 50%;
  margin-left: -25px;
}

Aqui além da position absolute, adicionamos um left de 50%, o que leva a div a 50% da largura do container pai

Porém ela vai ficar desalinhada, a referência é sempre o início

Então corrigimos isso com o margin-left subtraindo a metade da largura desta div, aí ela fica centralizada, veja o exemplo:

div central ex 1

Flexbox

Também podemos centralizar com o flexbox, é mais fácil ainda

Veja:

.container {
  background-color: blue;
  width: 100%;
  height: 200px;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: center;
}

.child {
  background-color: red;
  width: 50px;
  height: 50px;
}

O resultado final será o mesmo:

div central ex 1

Conclusão

Neste artigo vimos como centralizar horizontalmente uma div dentro de outra

Utilizamos diversos métodos: margin auto, position absolute até flexbox

Basta agora você escolher qual deles se encaixa melhor no seu projeto!

Confira também nosso catálogo de cursos gratuitos, com aulas semanais no YouTube

0
Subscribe
Notify of
guest
0 Comentários
Inline Feedbacks
View all comments
0
Would love your thoughts, please comment.x
()
x