Contents

3 maneiras fáceis de centralizar um elemento com CSS

⭐ Um arquivo HTML simples para praticar a centralização

⭐ Usando Flexbox para centralizar um elemento Div

⭐ Usando CSS Grid para centralizar um elemento Div

⭐ Usando CSS Positioning para centralizar um elemento Div

Principais lições

Centralizar elementos em designs da Web já foi uma tarefa formidável, mas o CSS contemporâneo facilita o alinhamento sem esforço ao centro.

O Flexbox surgiu como a técnica predominante para alinhar o conteúdo de forma centralizada, oferecendo um sistema de grelha versátil e adaptável que facilita a disposição perfeita dos elementos.

A centralização de elementos num Web site pode ser conseguida através da utilização da grelha CSS e de técnicas de posicionamento, proporcionando uma grande precisão no controlo da disposição e do alinhamento do conteúdo.

A centralização de um elemento num layout da Web há muito que é um problema para os designers, pois nem sempre é uma tarefa fácil de realizar. No entanto, muitos designs necessitam que os elementos estejam situados no centro e, felizmente, o CSS contemporâneo oferece um suporte robusto para este fim.

Compreender o processo de centrar uma div na horizontal e na vertical utilizando flexbox, grelha CSS, bem como técnicas tradicionais de posicionamento CSS.

Um ficheiro HTML simples para praticar a centralização

As amostras de código fornecidas ilustram a implementação do alinhamento horizontal através da utilização de uma estrutura HTML básica, enquanto manipulam as propriedades CSS para obter vários efeitos. A experimentação com diferentes folhas de estilo oferecerá uma visão do comportamento desses atributos.

 <!DOCTYPE html>
<html>
<head>
  <style>
  div { width: 100px; height: 100px; }
 body { height: calc(100vh - 16px); }
  </style>
</head>
<body>
  <div></div>
</body>
</html>

Usando o Flexbox para centralizar um elemento Div

O Flexbox emprega uma estratégia direta que o tornou a escolha preferida devido à sua adaptabilidade. O modelo de disposição facilita o alinhamento e a distribuição do espaço, tornando-o uma solução óptima para centralizar componentes num contentor.

Centralize o conteúdo utilizando o flexbox aplicando as seguintes regras CSS:

⭐ Envolva o seu elemento div dentro de um contentor. Aplique a propriedade display: flex ao contentor para ativar a disposição Flexbox. Num caso de teste simples, o corpo pode servir de contentor:

 body {
  display: flex;
} 

⭐ Utilize as propriedades justify-content e align-items para alinhar os itens ao longo do eixo principal (horizontal) e do eixo transversal (vertical), respetivamente. Para centrar ambos os eixos, defina estas propriedades como center . Para uma demonstração simples, deve também definir a altura do corpo para 100vh, para que possa ver o efeito do alinhamento vertical.

 body {
  justify-content: center;
  align-items: center;
} 

⭐ Dê à div uma cor de fundo para visualizar a sua colocação na página final:

 div { background-color: red; } 

a orientação de cima para baixo e da esquerda para a direita.

/pt/images/div-flex.png

Utilizar a grelha CSS para centrar um elemento Div

Centrar um elemento utilizando a grelha CSS proporciona um elevado grau de precisão no controlo da disposição e do alinhamento, permitindo uma maior flexibilidade na conceção de páginas Web com estruturas complexas.

⭐ Defina um contentor para o seu layout e aplique o estilo display: grid para ativar a CSS Grid. Neste caso, o corpo serve como contentor.

 body {
  display: grid;
} 

⭐ Utilize as propriedades grid-template-columns e grid-template-rows para definir a estrutura da sua grelha. Para centralizar, uma única coluna e linha será suficiente, então use 1fr para ambas.

 body {
  grid-template-columns: 1fr;
  grid-template-rows: 1fr;
} 

⭐ Use a propriedade place-items para centralizar o conteúdo da grade, tanto horizontal quanto verticalmente.

 body {
  place-items: center;
} 

⭐ Estilize o fundo do seu elemento div para visualizá-lo no centro do contêiner da grade.

 div {
  background-color: blue;
} 

Neste caso, um único atributo governa o posicionamento primordial do elemento Div na sua página web:

/pt/images/screenshot-2023-12-18-at-12-51-05.png

Utilizar o posicionamento CSS para centrar um elemento Div

Centrar um elemento Div utilizando a propriedade CSS position requer uma compreensão do funcionamento das transformações e transições CSS. Esta compreensão permite o alinhamento correto do elemento no seu contentor principal. Um procedimento detalhado é fornecido abaixo, juntamente com um exemplo ilustrativo.

⭐ Para posicionar o elemento div, certifique-se de que o seu contentor tem uma posição relativa. Isto estabelece um contexto de posicionamento relativo, para que possa colocar a div no centro do seu contentor.

 body {
  position: relative;
} 

⭐ Aplique o posicionamento absoluto ao elemento div e, em seguida, use as propriedades top e left para posicionar o canto superior esquerdo da div exatamente no centro de seu contêiner.

 div {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
 background-color: green;
} 

A transformação translate(-50%, -50%) move a div para a esquerda e para cima em metade da sua largura e metade da sua altura.

Esta abordagem funciona alinhando inicialmente o canto superior esquerdo do elemento com o centro do ecrã, seguido de um deslocamento horizontal e vertical de metade da sua largura e metade da sua altura, respetivamente.

/pt/images/div-position.png

Flexbox, CSS Grid e CSS positioning são técnicas muito eficazes para centrar o conteúdo de um sítio Web. Utilizando o Flexbox, é possível obter facilmente a centralização horizontal e vertical com um mínimo de codificação.O CSS Grid oferece recursos robustos de alinhamento em duas dimensões, enquanto o emprego do posicionamento CSS permite centralizar um elemento em relação ao elemento pai que o contém.

Ao empregar estas metodologias, é possível garantir uma aparência refinada e polida para o seu sítio Web.