Como centralizar horizontalmente um <div> usando CSS?

O CSS permite aplicar estilos seletivamente a elementos em documentos HTML neste exemplo básico vamos centralizar horizontalmente um <div> usando CSS. Supondo que você tenha a seguinte estrutura HTML básica por exemplo:

<div id="outer">  
  <div id="inner">Foo foo</div>
</div>

Você pode aplicar esse CSS ao interior <div>:

#inner {
  width: 50%;
  margin: 0 auto;
}

Claro, você não precisa definir o width para 50%. Qualquer largura menor que a que contenha <div> funcionará. O margin: 0 auto é o que faz a centralização real.

Se você estiver segmentando o IE8 +, talvez seja melhor ter isso:

#inner {
  display: table;
  margin: 0 auto;
}

Ele fará o elemento interno centralizar horizontalmente e funcionará sem definir um específico width.

Exemplo de trabalho aqui:

#inner {
  display: table;
  margin: 0 auto;
  border: 1px solid black;
}

#outer {
  border: 1px solid red;
  width:100%
}
<div id="outer">
  <div id="inner">Foo foo</div>
</div>

Você terá um resultado assim:

Se você não quiser definir uma largura fixa no interior, div poderá fazer algo assim:

#outer {
  width: 100%;
  text-align: center;
}

#inner {
  display: inline-block;
}
<div id="outer">  
    <div id="inner">Foo foo</div>
</div>

Isso transforma o interior divem um elemento inline que pode ser centralizado com text-align.

Pronto com isso você poderá centralizar horizontalmente um <div> usando CSS.

publicado
Categorizado como CSS, HTML Marcado com ,

Por Rodrigo Crosara

Olá sou CEO da SeuStyle.net e Analista Programador. Já participei de implementações de centenas de projetos digitais nacionais e internacionais e também sou o fundador e mantenedor do blog "Como Desenvolver" desde 2016, meu objetivo aqui é disponibilizar uma base de conhecimentos e um repositório de informações úteis para mim e para os amantes em conhecimentos digitais, seja bem-vindo e sinta-se livre para deixar seu comentário e olhar a sua volta.

Deixe um comentário