Quer centralizar uma div? aprenda como com 3 métodos diferentes
Centralizar utilizando margin auto
.div1 {
margin: auto;
width: 50%;
border: 3px solid green;
padding: 10px;
}
Centralizar div via display flex
.div2 { width: 100%; height: 100%; display: flex; justify-content: center; //alinha horizontalmente align-itens: center; //alinha verticalmente }
Centralizar via position absolute
Você ainda pode usar o position: absolute; para alinhar ao centro tirando do fluxo, nesse caso o código é acompanhado das propriedades left:50%; e top:50%; que vai calcular o meio da página por porcentagem, porém essas propriedades vão calcular a partir do topo e da esquerda, sendo necessário complementar com a propriedade transform: translate(-50%, -50%);, Veja um exemplo de div a seguir:
.div3 { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); }
Qual a diferença entre esses 3 métodos de centralização?
O margin: auto; Funciona bem na maioria dos casos, mas o elemento precisa ter uma largura especificada para que a centralização ocorra. Funciona bem para centralizar blocos de layout. Ou seja, é simples e eficaz para centralizar horizontalmente com largura definida.
Flexbox, ou display:flex;, oferece maior flexibilidade para organizar elementos em relação ao layout. Pode afetar a estrutura de outros elementos dentro do contêiner flex. Em outras palavras é mais versátil e pode ser usado para centralizar elementos em qualquer direção.
Já o position: absolute; pode afetar o fluxo normal do documento, especialmente se outros elementos tiverem posicionamento absoluto ou relativo. Dessa forma é útil para centralizar elementos em relação ao contêiner pai, mas pode ter implicações no fluxo do documento
Concluindo
A escolha entre essas abordagens dependerá das necessidades específicas do seu layout, projeto e do comportamento desejado. Flexbox é geralmente preferido por sua flexibilidade e facilidade de uso em muitos casos.
Fontes Desse artigo: