Tutorial de CSS

CSS INÍCIO Introdução CSS Sintaxe CSS Seletores CSS CSS Como fazer Comentários CSS Cores CSS Planos de fundo CSS Bordas CSS Margens CSS Preenchimento CSS CSS Altura/Largura Modelo de caixa CSS Esboço CSS Texto CSS Fontes CSS Ícones CSS Links CSS Listas CSS Tabelas CSS Exibição CSS Largura máxima do CSS Posição CSS Índice Z CSS Estouro de CSS CSS flutuante Bloco CSS Inline Alinhamento CSS Combinadores CSS Pseudoclasse CSS Pseudoelemento CSS Opacidade CSS Barra de navegação CSS Listas suspensas de CSS Galeria de imagens CSS Sprites de imagem CSS Seletores de atributos CSS Formulários CSS Contadores CSS Layout do site CSS Unidades CSS Especificidade CSS CSS !importante Funções matemáticas CSS

CSS Avançado

Cantos arredondados CSS Imagens de borda CSS Planos de fundo CSS Cores CSS Palavras-chave de cores CSS Gradientes CSS Sombras CSS Efeitos de texto CSS Fontes da Web CSS Transformações CSS 2D Transformações CSS 3D Transições CSS Animações CSS Dicas de CSS Imagens de estilo CSS Reflexão de imagem CSS Ajuste de objeto CSS posição do objeto CSS Mascaramento CSS Botões CSS Paginação CSS CSS Múltiplas Colunas Interface de usuário CSS Variáveis ​​CSS Dimensionamento da caixa CSS Consultas de mídia CSS Exemplos de CSS MQ CSS Flexbox

Responsivo a CSS

Introdução ao RWD Janela de visualização RWD Visualização de Grade RWD Consultas de mídia RWD Imagens RWD Vídeos RWD Estruturas RWD Modelos RWD

Grade CSS

Introdução à grade Contêiner de Grade Item de grade

CSS SASS

Tutorial SASS

Exemplos de CSS

Modelos CSS Exemplos de CSS teste css Exercícios de CSS Certificado CSS

Referências CSS

Referência CSS Seletores CSS Funções CSS Aural de referência CSS Fontes CSS seguras para a Web CSS Animatable Unidades CSS CSS PX-EM Converter Cores CSS Valores de cores CSS Valores padrão de CSS Suporte ao navegador CSS

Layout CSS - Alinhamento horizontal e vertical


Centralizar elementos
horizontalmente e verticalmente


Elementos de alinhamento central

Para centralizar horizontalmente um elemento de bloco (como <div>), use margin: auto;

Definir a largura do elemento impedirá que ele se estenda até as bordas de seu contêiner.

O elemento então ocupará a largura especificada e o espaço restante será dividido igualmente entre as duas margens:

Este elemento div é centralizado.

Exemplo

.center {
  margin: auto;
  width: 50%;
  border: 3px solid green;
  padding: 10px;
}

Nota: O alinhamento ao centro não tem efeito se a widthpropriedade não estiver definida (ou definida como 100%).


Centralizar texto

Para apenas centralizar o texto dentro de um elemento, use text-align: center;

Este texto está centralizado.

Exemplo

.center {
  text-align: center;
  border: 3px solid green;
}

Dica: Para obter mais exemplos de como alinhar texto, consulte o capítulo Texto CSS .



Centralizar uma imagem

Para centralizar uma imagem, defina as margens esquerda e direita autoe transforme-a em um blockelemento:

Paris

Exemplo

img {
  display: block;
  margin-left: auto;
  margin-right: auto;
  width: 40%;
}

Alinhar à esquerda e à direita - Usando a posição

Um método para alinhar elementos é usar position: absolute;:

Nos meus anos mais jovens e vulneráveis, meu pai me deu alguns conselhos que venho revirando em minha mente desde então.

Exemplo

.right {
  position: absolute;
  right: 0px;
  width: 300px;
  border: 3px solid #73AD21;
  padding: 10px;
}

Nota: Elementos posicionados absolutos são removidos do fluxo normal e podem sobrepor elementos.


Alinhamento à esquerda e à direita - Usando flutuação

Outro método para alinhar elementos é usar a floatpropriedade:

Exemplo

.right {
  float: right;
  width: 300px;
  border: 3px solid #73AD21;
  padding: 10px;
}

O hack do clearfix

Nota: Se um elemento for mais alto que o elemento que o contém e estiver flutuando, ele transbordará para fora de seu contêiner. Você pode usar o "hack clearfix" para corrigir isso (veja o exemplo abaixo).

Sem Clearfix

Com Clearfix

Em seguida, podemos adicionar o hack clearfix ao elemento que o contém para corrigir esse problema:

Exemplo

.clearfix::after {
  content: "";
  clear: both;
  display: table;
}

Centralizar verticalmente - usando preenchimento

There are many ways to center an element vertically in CSS. A simple solution is to use top and bottom padding:

I am vertically centered.

Example

.center {
  padding: 70px 0;
  border: 3px solid green;
}

To center both vertically and horizontally, use padding and text-align: center:

I am vertically and horizontally centered.

Example

.center {
  padding: 70px 0;
  border: 3px solid green;
  text-align: center;
}

Center Vertically - Using line-height

Another trick is to use the line-height property with a value that is equal to the height property:

I am vertically and horizontally centered.

Example

.center {
  line-height: 200px;
  height: 200px;
  border: 3px solid green;
  text-align: center;
}

/* If the text has multiple lines, add the following: */
.center p {
  line-height: 1.5;
  display: inline-block;
  vertical-align: middle;
}

Center Vertically - Using position & transform

If padding and line-height are not options, another solution is to use positioning and the transform property:

I am vertically and horizontally centered.

Example

.center {
  height: 200px;
  position: relative;
  border: 3px solid green;
}

.center p {
  margin: 0;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

Tip: You will learn more about the transform property in our 2D Transforms Chapter.


Center Vertically - Using Flexbox

You can also use flexbox to center things. Just note that flexbox is not supported in IE10 and earlier versions:

I am vertically and horizontally centered.

Example

.center {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 200px;
  border: 3px solid green;
}

Tip: You will learn more about Flexbox in our CSS Flexbox Chapter.


Test Yourself With Exercises

Exercise:

Use the margin property to make sure that the <div> element is center aligned according to its parent element.

<style>
.intro {
  width: 200px;
  : ;
}
</style>

<body>

<div class="intro">
Lorem ipsum dolor sit amet,
consectetur adipiscing elit.
Phasellus imperdiet, nulla et dictum interdum,
nisi lorem egestas odio,
vitae scelerisque enim ligula venenatis dolor. </div> </body>